UTILISATION DE FSTREAM POUR EXTRAIRE UN FICHIER

Signaler
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
-
Messages postés
130
Date d'inscription
mercredi 26 octobre 2005
Statut
Membre
Dernière intervention
14 mars 2009
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/21335-utilisation-de-fstream-pour-extraire-un-fichier

Messages postés
130
Date d'inscription
mercredi 26 octobre 2005
Statut
Membre
Dernière intervention
14 mars 2009

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>
Messages postés
351
Date d'inscription
samedi 2 février 2002
Statut
Membre
Dernière intervention
6 mai 2004
2
un peu nul
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
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
Messages postés
402
Date d'inscription
samedi 28 décembre 2002
Statut
Membre
Dernière intervention
21 juillet 2005
1
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
Afficher les 6 commentaires