C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

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

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
Fr@d
Guest





PostPosted: Tue Apr 11, 2006 7:06 pm    Post subject: Question de novice (moins d'un jour !!) Reply with quote



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
Back to top
Fred
Guest





PostPosted: Tue Apr 11, 2006 7:06 pm    Post subject: Re: Question de novice (moins d'un jour !!) Reply with quote



Fr@d wrote:
Quote:
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
Back to top
Fr@d
Guest





PostPosted: Tue Apr 11, 2006 7:06 pm    Post subject: Re: Question de novice (moins d'un jour !!) Reply with quote



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
Back to top
Sylvain
Guest





PostPosted: Tue Apr 11, 2006 8:06 pm    Post subject: Re: Question de novice (moins d'un jour !!) Reply with quote

Fr@d wrote on 11/04/2006 20:40:
Quote:
Bonjours,

bonsoir,

Quote:
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.

Quote:
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.
Back to top
Jean-Marc Bourguet
Guest





PostPosted: Tue Apr 11, 2006 8:06 pm    Post subject: Re: Question de novice (moins d'un jour !!) Reply with quote

"Fr@d" <toto (AT) toto (DOT) fr> writes:

Quote:
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
Back to top
Delf
Guest





PostPosted: Tue Apr 11, 2006 9:06 pm    Post subject: Re: Question de novice (moins d'un jour !!) Reply with quote

Fred wrote:

Quote:
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.
Back to top
TjB
Guest





PostPosted: Tue Apr 11, 2006 9:06 pm    Post subject: Re: Question de novice (moins d'un jour !!) Reply with quote

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.
Back to top
Fr@d
Guest





PostPosted: Wed Apr 12, 2006 1:06 pm    Post subject: Re: Question de novice (moins d'un jour !!) Reply with quote

TjB a écrit :
Quote:
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
Back to top
Fr@d
Guest





PostPosted: Wed Apr 12, 2006 1:06 pm    Post subject: Re: Question de novice (moins d'un jour !!) Reply with quote

Delf a écrit :
Quote:
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
Back to top
Stephane Wirtel
Guest





PostPosted: Wed Apr 12, 2006 4:06 pm    Post subject: Re: Question de novice (moins d'un jour !!) Reply with quote

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;
}
Back to top
kanze
Guest





PostPosted: Tue Apr 18, 2006 8:06 am    Post subject: Re: Question de novice (moins d'un jour !!) Reply with quote

Fr@d wrote:
Quote:
TjB a écrit :
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
Back to top
kanze
Guest





PostPosted: Tue Apr 18, 2006 8:06 am    Post subject: Re: Question de novice (moins d'un jour !!) Reply with quote

Fr@d wrote:
Quote:
Delf a écrit :
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
Back to top
Fabien LE LEZ
Guest





PostPosted: Tue Apr 18, 2006 8:06 am    Post subject: Re: Question de novice (moins d'un jour !!) Reply with quote

On 18 Apr 2006 00:55:11 -0700, "kanze" <kanze@gabi-soft.fr>:

Quote:
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.
Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.