Ouvrir, fermer et ecrire ds 1 fichier(debutant)

0/5 (10 avis)

Snippet vu 5 735 fois - Téléchargée 35 fois

Contenu du snippet

Ouvre, ferme, lit et ajoute des donnees dans un fichier.
C'est simple, mais par le passe j ai mis du temps a trouve cela....

Source / Exemple :


#include <fstream.h>

void selectfichnom(char (&fich)[256]);
void voirfichier(char fich[256]);
void ecrirefichier(char fich[256]);

int main()

{

char nomfichier[256];
bool prog = true;
int choix;

while (prog)

{

	cout<<"\nChoisir:\n0-Quitter.\n1-Entrer un nom de fichier.\n2-Voir un fichier.\n3-Ecrire dans unfichier.\n";

	cin>>choix;

	if (choix == 0)
		prog = false;
	else if (choix == 1)
		selectfichnom(nomfichier);
	else if (choix == 2)
		voirfichier(nomfichier);
	else if (choix == 3)
		ecrirefichier(nomfichier);

}

cout<<"\n\nFIN DU PROGRAMME!\n\n";

return 0;

}

void selectfichnom(char (&fich)[256])

{

cout<<"\nEntrer le nom du fichier:\n";
cin>>fich;

}

void voirfichier(char fich[256])

{

char ch;

ifstream fin(fich, ios::nocreate);

if (fin.fail())
cout<<"\nImpossible d acceder au fichier.\n";

while (fin.get(ch))
cout<<ch;

fin.close();

}

void ecrirefichier(char fich[256])

{

char ch[256];

ofstream fout(fich, ios::app | ios::nocreate);

if (fout.fail())
cout<<"\nImpossible d acceder au fichier.\n";

else

{

cout<<"\nEntrer la chaine a afouter a la fin du fichier:\n\n";

cin.ignore(1, '\n');
cin.getline(ch, 256);
fout<<ch;

fout.close();

}

}

Conclusion :


Ben voila, c est tout ce qui a....

A voir également

Ajouter un commentaire Commentaires
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
21 juil. 2003 à 14:12
bouh !!!!!! c'est tu C++, je n'y comprend RIEN !
explique ! c'est pas tres claire pour un si petit programme !


Pouquoi char nomfichier[255];
char buffer[255];
et non


char nomfichier[256];
char buffer[256];

????


ou sont les testes pour verifier si les fichiers on bien ete ouverts ???
zinotron Messages postés 65 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 11 septembre 2004
28 juil. 2003 à 12:04
bon moi cque jen pense c que tu tprend bien la tete ... meme si c pour faire du C++ :p
void main()
{
char car;
FILE *fic;
fic = fopen ("c:\fichier.ext","w+r");
fputc(fic,"salut mon mignon");
while (!feof(fic))
{
car = fgetc(fic);
printf("%c",car);
}
return 1;
}
ca ca ecrit "coucou mon mignon dans fichier.extension et apres ca lit ce que ya ecrit .
c ptet pas du C++ (je c pas trop...) mais en tout cas c bien + simple d'emploi et bien plus court....
vala c tout
++
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
28 juil. 2003 à 12:44
Oui ta raison, en C c'est plus simple qu'en C++ !

mais j'ai comme-meme deux choses a dire sur ton code zinotron :
il manque le teste de retour de fopen, (s'il retourne NULL)
Et a la fin d'uin main, par convention, on retourne 0 quand tout
va bien, sinon on retourne un valeur qui indique la gravite de l'erreur

Mais bon c'est juste un convention ...

Pour ce qui est du fputc, je prefere mettre fprintf

Encore un chose : ton code est bien du C++ pur !
cs_tibur Messages postés 101 Date d'inscription samedi 9 février 2002 Statut Membre Dernière intervention 5 mai 2009
8 août 2003 à 13:12
Yo ...
Je suis pas d'accord : c'est du C, ce code ... Enfin, pour ce qui est de l'IO sur le fichier.

En c++ ça donnerai un truc comme ça :

#include <string>
#include <ofstream>
#include

char s1[] = "Youplaboum";
std::string s2;
int un_entier = 5;
double un_double = 10.5;

int main(){
s2 = "2eme string";

std::ofstream of;
of.open("c:
imp.txt");

assert(of.good());

of << "Salut tout le monde" <<std::endl;
of << s1 <<std::endl;
of << s2 <<std::endl;
of << un_entier <<std::endl;
of << un_double <<std::endl;

assert(of.good());

of.close();

return 0;
}


Bon, je crois que ca doit etre bon, mais je ne l'ai pas teste ... (Je n'ai pas de compilo C++ au taf ! Juste cette pourriture de windev !)

Ciao
Guidelor Messages postés 236 Date d'inscription jeudi 31 octobre 2002 Statut Membre Dernière intervention 18 août 2006
4 févr. 2004 à 13:19
ou sont les commentaires ??!!! Je n'y comprends rien !!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.