2011-06-16 2 views
0

Je me demande comment ajouter la nouvelle ligne avant de fermer le fichier.comment ajouter une nouvelle ligne à la fin du fichier. using Only C

J'ai essayé d'utiliser fputs et puts et frpints quelque chose comme puts("/n"); etc mais cela ne fonctionne pas.

Merci & salutations, SamPrat

+4

Êtes-vous sûr que vous n'avez pas essayé ' « \ n » '? – asveikau

+0

J'ai essayé des puts ("/ n") avant fclose. mais il ajoute/n à la fin de la ligne – samprat

+0

pouvez-vous s'il vous plaît poster le code complet? vous avez écrit: ""/n "' qui devrait être "" \ n " – ArtoAle

Répondre

4

une manière très simple, aucune vérification d'erreur:

FILE * file = fopen(fname, "a"); 
fwrite("\n", strlen("\n"), 1, file); 
fclose(file); 
+3

Ceci est faux, car il écrit un '0' après le' \ n'. –

+2

hum, en effet. Utilisez simplement strlen() au lieu de sizeof –

0

Ouvrez le fichier avec append drapeau "a" puis utilisez la fonction fputs().

1

Vous devez utiliser "\n" au lieu de "/n" avec le fichier ouvert en mode "annexant" (lettre 'a' comme paramètre fopen

0

Les cordes Les caractères "\n" et "/n" sont très différents: le premier a 1 caractère (plus un terminateur null), le second 2 caractères (plus un terminateur null)

Le caractère utilisé pour la terminaison de ligne est '\n'. puts() ajoute automatiquement un tel caractère.

Les énoncés suivants font la même chose (ils peuvent retourner une valeur différente, mais ce n'est pas utilisé dans l'exemple ci-dessous):

printf("full line\n"); 
fputs("full line\n", stdout); 
puts("full line"); 
Questions connexes