Bonjour a tous, j'ai un probleme que je pense n'etre pas difficile a resoudre mais je ne suis pas une bete en code donc j'aurais besion d'un petit coup de pouce.
Pour effectuer un traitement sur le contenu d'un fichier texte, j'ai penser a recuperer tous les caracteres contenus dans le fichier et en former un (char *), pour ensuite traiter avec diverses fonctions (qui elles marchent
) ce char * et ensuite ecraser le fichier en utilisant le resultat de mes fonctions (c'est celle qui m'est venue a l'idee en premier, je trouve ca un peu bourrin et en plus elle seg fault et je vois pas l'erreur)
Voici comment je m'y prends (je ne met ici que le coeur du probleme):
Code :
- FILE * pf, pf2;
- char c;
- char * str;
- if (!(pf= fopen(argv[3], "r" )))
- /*Erreur*/
- else
- {
- while ((c = getc(pf)), !foef(pf))
- {
- str = strcat (str, char_to_str(c)); /*c'est la que ca seg fault*/
- }/*char_to_str est une fonction que j'ai cree*/
- fclose(pf);
- str = traitement(argv[2], str);
-
- pf2 = fopen(argv[4], "w" );
- fputs(str, pf2);
- fclose(pf2);
- }
|
Si vous voyez comment contourner le probleme, ou si vous avez une meilleur methode, je vous serais tres reconnaissant
Merci d'avance
Message édité par Barney le 25-08-2004 à 11:06:50