Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Question de novice (moins d'un jour !!)

12 réponses
Avatar
Fr
Bonjours,

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

10 réponses

1 2
Avatar
Fred
wrote:
Bonjours,

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



Bonjour,

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.

Fred

Avatar
Fr
Merci pour cette réponse rapide, en effet, cette commande ne me sert pas
à grand chose, vu que j'ai la console ouverte.

Ce qui m'étonnais, c'est que ça ne provoque pas d'erreur la compilation
et que ça provoque une erreur a l'exécution.

--
Mail envoyé avec ThunderBird 1.5
Sous SuSE Linux Pro 10
Avatar
Jean-Marc Bourguet
"" writes:

Merci pour cette réponse rapide, en effet, cette commande ne me sert pas à
grand chose, vu que j'ai la console ouverte.

Ce qui m'étonnais, c'est que ça ne provoque pas d'erreur la compilation et
que ça provoque une erreur a l'exécution.


system est une fonction dont l'effet est d'executer la chaine que tu
lui passes comme si tu l'avais taper a la ligne de commande.

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org

Avatar
Sylvain
wrote on 11/04/2006 20:40:
Bonjours,


bonsoir,

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


c'est heureux!

system(const char* command) est défini dans stdlib dans 30 ans, donc ça
doit compiler partout.

par contre lorsque je lance le
programme compilé, j'ai le message suivant

sh: PAUSE: command not found


system fait executer par le shell (l'interpréteur de commande), la
commande passé en argument; votre prog. est donc correct, mais la
commande PAUSE est inconnu de votre shell courant (sh); un system("ls");
devrait (faute d'être transcendant) vous permettre de dépasser la
déception du premier code qui marche pas ;)

nota: si votre but est d'exécuter par code des commandes du shell,
prenez conseil sur fr.comp.os.unix de la syntaxe de ces commandes.

Sylvain.

Avatar
TjB
Sinon, pour attendre un peu, si nécessaire, il y a la fonction
sleep(N), N en secondes.

Au début du programme, faire

#include <unistd.h>

et dans le programme, pour attendre 5 secondes par exemple :

sleep(5);

T.
Avatar
Delf
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() ?

Pas sûr...

--
Delf
Do not use this email in Cc!
L'homme n'est que poussière. La femme est aspirateur.

Avatar
Fr
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() ?

Pas sûr...



Bonjour,

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.

Merci

--
Mail envoyé avec ThunderBird 1.5
Sous SuSE Linux Pro 10


Avatar
Fr
Sinon, pour attendre un peu, si nécessaire, il y a la fonction
sleep(N), N en secondes.

Au début du programme, faire

#include <unistd.h>

et dans le programme, pour attendre 5 secondes par exemple :

sleep(5);

T.


Bonjour,

Merci, la fonction SLEEP fonctionne très bien.

@+, Fred.

--
Mail envoyé avec ThunderBird 1.5
Sous SuSE Linux Pro 10

Avatar
Stephane Wirtel
Voici ce que tu attends au lieu du PAUSE :p

#include <iostream>
#include <stdexcept>

int main( int argc, char **argv ) {
try {
// affiche le message
std::cout << "Appuyez sur ENTER" << std::endl;

// attend l'appui d'une touche
std::cin.get();
return 0;
}
catch( const std::exception & ex ) {
std::cerr << "Exception: " << ex.what() << std::endl;
}
catch( ... ) {
std::cerr << "Exception inconnue" << std::endl;
}
return 1;
}
Avatar
kanze
wrote:
Sinon, pour attendre un peu, si nécessaire, il y a la fonction
sleep(N), N en secondes.

Au début du programme, faire

#include <unistd.h>

et dans le programme, pour attendre 5 secondes par exemple :

sleep(5);


Merci, la fonction SLEEP fonctionne très bien.


Mais attention -- elle n'est pas réelement portable non plus. (Je
crois
qu'il existe une fonction sleep sous Windows aussi. Mais je doute
qu'elle soit déclarée dans <unistd.h>.)

--
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


1 2