cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 2004
-
19 mars 2004 à 18:59
spidermario
Messages postés121Date d'inscriptionmercredi 26 octobre 2005StatutMembreDernière intervention14 mars 2009
-
29 juil. 2006 à 13:57
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
spidermario
Messages postés121Date d'inscriptionmercredi 26 octobre 2005StatutMembreDernière intervention14 mars 20091 29 juil. 2006 à 13:57
Sinon, on peut également redéfinir nous-même _getch(); en faisant
extern "C"
{
_CRTIMP int __cdecl _getch(void);
}
En ajoutant ces lignes, _getch() est utilisable comme si on avait fait
#include <conio.h>
lpikachu58
Messages postés351Date d'inscriptionsamedi 2 février 2002StatutMembreDernière intervention 6 mai 20042 22 mars 2004 à 13:56
un peu nul
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 22 mars 2004 à 05:26
pour le exit il est indispensable et donc standard, il suffit d'inclure <stdlib.h> ou <cstdlib> avec le namespace std.
par ex, comment peux tu quitter le programme depuis une fonction sans exit? avec un return tu ne fait que quitter la fonction, donc ca marche uniquement quand c'est la fonction main
a la fin du prog on peut faire cin.get(), l'equivalent d'un getchar de la stdio
D1m3x
Messages postés402Date d'inscriptionsamedi 28 décembre 2002StatutMembreDernière intervention21 juillet 20051 19 mars 2004 à 23:25
Salut,
un bonne exemple pour les débutant avec les fstreams...
Mais en effet comme tu utilises le C++ (les fstream de la STL!) il est mieux d'inclure les fichier standard C++, tel que <fstream>, ! Malheureusement en faisant cela les utilitées du nom d'espace std ne sont qu'accessible avec le préfixe std::, alors tu peux soit faire:
...
using std::cout;
using std::cerr;
...
Mais ce qui n'est pas très utile vu que tu utilises beaucoup de la STL... Alors pour te faciliter la tâche tu peux utiliser:
using namespace std;
ce qui va te permettre d'utiliser toutes les utilités du nom d'espace std!
Ensuite, pour la fonction main( ), ne surtout pas la déclarer de cette manière, il est d'ailleurs rare que les compilos accepte ta façon de la faire alors je te propose:
int main( int argc, char *argv[] )
{
...
// return 0;
}
Je met le return 0; en commentaire car le pur C++ ne nécessite plus de cette ligne vu que la fonction main() retourne automatiquement la valeur 0 en C++! mais il n'est pas interdit, juste inutile... :)
Ensuite pour bien utiliser le standard C++, on va bouger le process.h et le conio.h qui ne sont pas du tout standard!
Alors tu as déclarer process.h pour utiliser la fonction exit(), comme je te l'ai dit plus haut il est mieux de déclarer INT main( ); ce qui va également te permettre de remplacer exit( -1 ); par un simple return -1; à la position voulue!
Et enfin pour remplacer getch( ) de conio.h tu peux tout simplement mettre un:
cin >> ch;
à la fin ce qui va faire patienter le programme :)
Bon voilà ça c'était pour les quelques éclairements, sinon le code il est pas mal!!
Bonne prog
xterminhate
Messages postés371Date d'inscriptiondimanche 4 janvier 2004StatutMembreDernière intervention23 septembre 2009 19 mars 2004 à 20:02
Pourquoi utiliser <fstream.h> plutot que le standard C++ <fstream> ? Même remarque pour toutes les autres librairies appelées ?
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 19 mars 2004 à 18:59
remarque ==> tu n'est pas obligier d'apperler la methode close, notament a la fin d'un bloc ou si tu ne reutilise pas
29 juil. 2006 à 13:57
extern "C"
{
_CRTIMP int __cdecl _getch(void);
}
En ajoutant ces lignes, _getch() est utilisable comme si on avait fait
#include <conio.h>
22 mars 2004 à 13:56
22 mars 2004 à 05:26
par ex, comment peux tu quitter le programme depuis une fonction sans exit? avec un return tu ne fait que quitter la fonction, donc ca marche uniquement quand c'est la fonction main
a la fin du prog on peut faire cin.get(), l'equivalent d'un getchar de la stdio
19 mars 2004 à 23:25
un bonne exemple pour les débutant avec les fstreams...
Mais en effet comme tu utilises le C++ (les fstream de la STL!) il est mieux d'inclure les fichier standard C++, tel que <fstream>, ! Malheureusement en faisant cela les utilitées du nom d'espace std ne sont qu'accessible avec le préfixe std::, alors tu peux soit faire:
...
using std::cout;
using std::cerr;
...
Mais ce qui n'est pas très utile vu que tu utilises beaucoup de la STL... Alors pour te faciliter la tâche tu peux utiliser:
using namespace std;
ce qui va te permettre d'utiliser toutes les utilités du nom d'espace std!
Ensuite, pour la fonction main( ), ne surtout pas la déclarer de cette manière, il est d'ailleurs rare que les compilos accepte ta façon de la faire alors je te propose:
int main( int argc, char *argv[] )
{
...
// return 0;
}
Je met le return 0; en commentaire car le pur C++ ne nécessite plus de cette ligne vu que la fonction main() retourne automatiquement la valeur 0 en C++! mais il n'est pas interdit, juste inutile... :)
Ensuite pour bien utiliser le standard C++, on va bouger le process.h et le conio.h qui ne sont pas du tout standard!
Alors tu as déclarer process.h pour utiliser la fonction exit(), comme je te l'ai dit plus haut il est mieux de déclarer INT main( ); ce qui va également te permettre de remplacer exit( -1 ); par un simple return -1; à la position voulue!
Et enfin pour remplacer getch( ) de conio.h tu peux tout simplement mettre un:
cin >> ch;
à la fin ce qui va faire patienter le programme :)
Bon voilà ça c'était pour les quelques éclairements, sinon le code il est pas mal!!
Bonne prog
19 mars 2004 à 20:02
19 mars 2004 à 18:59