J'ai décidé de me mettre à la programmation C++, juste comme un loisir,
donc pas de trucs trop complexes, juste pour m'amuser un peu. J'ai déja
touché un peu au Basic et au Pascal.
J'ai pris un bouquin "C++ pour les Nuls", et je me lance, dès le 1er
exemple de code, j'ai un soucis.
En effet, le livre se base sur Windows avec Dev-c++, hors, je suis sous
Linux avec Anjuta ! et la ligne de code qui me pose soucis c'est la
suivante.
system ("PAUSE");
En fait, si je compile, je n'ai aucune erreur, par contre lorsque je
lance le programme compilé, j'ai le message suivant
sh: PAUSE: command not found
Est-ce que ça vient de Linux (je pense) ou du compilateur ? si oui, y a
t'il une commande équivalente sous Linux ?
Merci
--
Mail envoyé avec ThunderBird 1.5
Sous SuSE Linux Pro 10
et dans le programme, pour attendre 5 secondes par exemple :
sleep(5);
(Je crois qu'il existe une fonction sleep sous Windows aussi.
Une fonction sleep(), ça dépend du compilateur. L'API Win32 propose une fonction Sleep(), avec un argument en millisecondes.
kanze
wrote:
Fred wrote:
En effet, ça vient de Linux. Cette ligne appelle la commande "PAUSE" de Windows, afin vraisemblablement de laisser le temps à l'utilisateur de voir ce qui se passe dans la console. Sous Linux, je ne pense pas que cette ligne soit nécessaire. Je ne connais pas Ajunta, mais j'imagine qu'il doit afficher la console à l'exécution.
cin.ignore() ?
En fait la commande cin.ignore(); ne fait as grand chose , ça ne génère pas d'erreur à la compilation, mais ça ne fait rien.
Ça doit lire un caractère de cin. Typiquement, cin est bufferisé par le système, de façon à ce que tu ne reçois rien tant qu'on n'a pas entré un saut de ligne. Au moins que cin soit rédirigé d'un fichier.
La forme classique pour ce genre de chose, c'est :
cin.ignore( INT_MAX, 'n' ) ;
C-à-d lire juqu'à INT_MAX caractères, ou un 'n'. (C-à-d dans la pratique, lire jusqu'au prochain 'n'.)
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Fr@d wrote:
Fred wrote:
En effet, ça vient de Linux. Cette ligne appelle la commande
"PAUSE" de Windows, afin vraisemblablement de laisser le temps
à l'utilisateur de voir ce qui se passe dans la console. Sous
Linux, je ne pense pas que cette ligne soit nécessaire. Je ne
connais pas Ajunta, mais j'imagine qu'il doit afficher la
console à l'exécution.
cin.ignore() ?
En fait la commande cin.ignore(); ne fait as grand chose , ça ne
génère pas d'erreur à la compilation, mais ça ne fait rien.
Ça doit lire un caractère de cin. Typiquement, cin est bufferisé par
le
système, de façon à ce que tu ne reçois rien tant qu'on n'a pas
entré un
saut de ligne. Au moins que cin soit rédirigé d'un fichier.
La forme classique pour ce genre de chose, c'est :
cin.ignore( INT_MAX, 'n' ) ;
C-à-d lire juqu'à INT_MAX caractères, ou un 'n'. (C-à-d dans la
pratique, lire jusqu'au prochain 'n'.)
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
En effet, ça vient de Linux. Cette ligne appelle la commande "PAUSE" de Windows, afin vraisemblablement de laisser le temps à l'utilisateur de voir ce qui se passe dans la console. Sous Linux, je ne pense pas que cette ligne soit nécessaire. Je ne connais pas Ajunta, mais j'imagine qu'il doit afficher la console à l'exécution.
cin.ignore() ?
En fait la commande cin.ignore(); ne fait as grand chose , ça ne génère pas d'erreur à la compilation, mais ça ne fait rien.
Ça doit lire un caractère de cin. Typiquement, cin est bufferisé par le système, de façon à ce que tu ne reçois rien tant qu'on n'a pas entré un saut de ligne. Au moins que cin soit rédirigé d'un fichier.
La forme classique pour ce genre de chose, c'est :
cin.ignore( INT_MAX, 'n' ) ;
C-à-d lire juqu'à INT_MAX caractères, ou un 'n'. (C-à-d dans la pratique, lire jusqu'au prochain 'n'.)
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34