Bonjour j'aimerai savoir comment enlever les retours a la ligne dans un fichier texte?
Merci d'avance pour votre aide.
Bonjour j'aimerai savoir comment enlever les retours a la ligne dans un fichier texte?
Merci d'avance pour votre aide.
Tu veux créer un fichier texte sans retours lignes ? (plutôt étrange vu que ce qui fait qu'un fichier est 'texte' ... c'est son organisation en lignes...)Envoyé par DooSquare
Ou tu veux lire les lignes d'un fichier texte et retirer le \n ?
En faite j'ai un fichier a.txt et je veux enlever tous les retours à la ligne présent dans ce fichier.
Merci
Alors il suffit de le lire caractères par caractères avec fgetc() et de le recopier dans un autre fichier en omettant les '\n' avec fputc(). Quand c'est terminé, tu fais le ménage avec rename() et remove()...Envoyé par DooSquare
tu veux dire que je li mon fichier char par char
puis j'écris ce caractére dans un autre fichier si se dernier n'est pas \n
c'est un truc comme sa??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 fopen(...) fichier 1 avec les retour a la ligne fopen(...) fichier 2 qui recupére tout While(je suis pas a la fin du fichier){ IF (caractere != '\n') fwrite(....) j'écris dans le fichier 2 j'incremente de 1 }
Bah, j'ai déjà donné le nom des fonctions à utiliser. Il n'y a rien à incrémenter... A part ça, OK.Envoyé par DooSquare
Ne pas oublier de gérer les erreurs et de fermer les fichiers avant manipulations...
voila ou j'en suis:
en gros je ne sais pas tester le retour a la ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 int main() { FILE* fichier_source = NULL; int caractereActuel = 0; fichier_source = fopen("C:\\source.txt", "r"); if (fichier_source != NULL) { while (caractereActuel != EOF){ caractereActuel = fgetc(fichier_source); :evilred: if (caractereActuel == "\n") //comment je test le retour a la ligne? printf("\nahahahah\n"); else{ printf("%c", caractereActuel); } } fclose(fichier_source); } return 0; }
Auriez vous une idée?
Merci de votre aide
Bah, tu l'avais bien écrit dans le pseudo-code :Envoyé par DooSquare
Un caractère c'est entre simple quotes...
Code : Sélectionner tout - Visualiser dans une fenêtre à part IF (caractere != '\n')
oué mais caractereactuel est un int
alors sa ne marche pas...
Ah ? pourtant, '\n' est aussi un int. Pourquoi ça ne fonctionnerait pas ? Tu as essayé au moins ?Envoyé par DooSquare
oui
voila l'erreur de compilation :
main.c:19: warning: comparison between pointer and integer
ligne 19 : if (caractereActuel == "\n")
ligne 19 : if (caractereActuel == "\n")Un caractère c'est entre simple quotes...
ok je vais me tuer
if (caractereActuel == "\n")
mais
if (caractereActuel == '\n')
Tant que tu continues à confondre ' et ", je ne peux rien pour toi, désolé...Envoyé par DooSquare
Pourquoi ne pas y aller à coup de fgets étant donné qu'il s'arrête à un \n justement.
fgets => tu vérifies sur le \n est présent => si oui tu l'enlèves et tu recopies dans ton 2ème fichier.
Plus de code, plus de temps...Envoyé par Skyrunner
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager