Ouvrir un fichier txt et stocker son contenu

Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 mars 2015 - 29 mars 2005 à 13:38
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011 - 30 mars 2005 à 09:25
Bonjour tout le monde,
Voilà je voudrais faire un programme qui permet d'ouvrir un fichier texte et de stocker son contenu dans une variable de type tableau par exemple. en fait, j'ai écris un code en C (voir ci-dessous), je voudrais savoir si il y a moyen d'optimiser mon code ou bien de programmer ce genre de truc autrement.

int main(int argc, char *argv[])
{
FILE * pFile;
char string [100];

pFile = fopen ("myfile.txt" , "r");
if (pFile == NULL) perror ("Error opening file");
else {
fgets (string , 100 , pFile);
puts (string);
fclose (pFile);
}
system("PAUSE");
return 0;
}

Jarod_Delaware

7 réponses

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
29 mars 2005 à 15:11
Tu peux, si t'es sous Windows, utiliser les API (rudement conseillé) , et bien entendu, utiliser l'allocation dynamique (sauf si tu connais la taille du fichier avant de l'ouvrir) :

CreateFile(), ReadFile(), WriteFile(), GetFileSize(), HeapAlloc(), HeapFree(), GetProcessHeap() sont toutes les fonctions dont tu as besoin.

Il y a de nombreux exemples sur le site, et bien sur, les details des fonctions sur msdn.microsoft.com.

+2(p - n)
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
29 mars 2005 à 15:22
regarde du coté des sérialisation de données



après ça dépend de ce que tu veux faire de ton fichier



s'il ne sert que de sauvegarde c'est parfait



++

Nono.
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
29 mars 2005 à 15:55
Tu peux expliquer ce qu'est 'la serialisation de données' magic_Nono ? Je ne connais pas du tout...

+2(p - n)
0
Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 mars 2015 2
29 mars 2005 à 15:58
Salut,
Merci pour vos réponses; en fait, ce que je voulais faire avec le contenu du fichier c'etait de stocker son texte dans une variable pour ensuite le crypter. Je voulais savoir si le début de mon code est bien optimisé ou bien si on peut améliorer ça.
Merci encore.

Jarod_Delaware
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
29 mars 2005 à 16:43
je crois que c'est une spécificité du C++ (et non des MFC)



si tu fais hériter tes classes de CObject (de mémoire)



tu as accès à une fonction Serialize (idem) qui permet de stocker dans un fichier binaire l'état d'une instance de ta classe

et de pouvoir la restaurer.



après, j'ai utiliser cette méthode une seule fois dans un stage, mais je pense que tu trouveras plus de détails dans les msdn.



personnellement, je préfère utilisé des fichiers ini ou xml, plus facilement modifibles...



++

Nono.
0
cleter Messages postés 92 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 15 mai 2006
29 mars 2005 à 17:58
Magic_nono, désoler de te décevoir, mais je crois bien que la classe CObject parti des MFC (je viens de regarder dans l'msdn..)
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
30 mars 2005 à 09:25
effectivt, l'utilisation que j'en avais eu était MFC (contexte d'entreprise... on ne va pas revenir là dessus)

et la classe CObject est meme mère de quasi toute les classes MFC... (voir l'arborescence...)



néanmoins, d'après la mm source, MSDN, la sérialisation est une méthode généraliste s'appliquant avec différents langages

C++,C#, VB, JScript...



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wseref/html/M_Microsoft_Web_Services2_Messaging_ISoapFormatter_Serialize_1_4b8e56e2.asp



Magicalement

Nono.
0
Rejoignez-nous