J'ai un problème lors de l'écriture d'un fichier sur le texte. Comme vous pouvez le voir, j'ai utilisé \n
pour mettre un autre ensemble de mes données sur la ligne suivante. Le problème est lorsque je ferme le fichier et enregistrer à nouveau les données par ligne qui se termine par \n
devient \n\n
et ainsi de suite. Voilà pourquoi mon dossier ressemble à ceciC Programmation fprintf issue
PREMIER ENREGISTRER
test, test, test
test, test, test
DEUXIÈME ENREGISTRER
test, test, test
test, test, test
TROISIÈME ENREGISTRER
test, test, test
test, test, test
c'est pourquoi quand je l'afficher sur l'écran ... il y a des déchets entre ... Mon code est le suivant:
save(){
int i = 0;
FILE *stream = NULL;
stream = fopen("student.txt", "wt");
printf("\nSaving the student list directory. Wait a moment please...");
printf("\nExiting the program...");
for (i=0; i<recordCtr; i++){
fprintf(stream, "%s, %s, %s\n", array[i]->studentID, array[i]->name, array[i]->course);
}
}
Aide s'il vous plaît ... des suggestions seront appréciées. Merci d'avance.
Qu'est-ce que dans le tableau '[i] -> course'? A-t-il une nouvelle ligne à sa fin? Que trouve-t-on dans 'array [i] -> studentID'? A-t-il une nouvelle ligne à son début? –
Il est très possible que 'array [i] -> course' ait un autre terminateur de nouvelle ligne. Astuce: 'fgets()' lit toute la ligne avec le terminateur de nouvelle ligne. Comment exactement "réenregistrement" le fichier? – ruslik