2016-06-06 7 views
0

Hallo Ich habe Probleme mit fopen und fputs beim Schreiben von Daten in eine Datei.fopen und fputs in c

Insbesondere die folgenden Code:

#include <stdio.h> 
    #include <stdlib.h> 

    int main() 
    { 
     FILE * fp; 

     fp = fopen ("file_out.txt", "a+"); 
     fprintf(fp, "%s %s %s %d", "We", "are", "in", 2016); 

     fclose(fp); 

     return(0); 
    } 

gibt mir diese Ausgabe: Wir sind im Jahr 2016

Das ist, was ich erwartet hatte und der Hoffnung. Ich bekomme immer noch die gleiche Ausgabe wie vor

Allerdings, wenn ich

fprintf(fp, "%s %s %s %d", "We", "are", "in", 2016); 

zu

fprintf(fp, "%s %s %s %d", "We", "are", "in", 3333); 

und neu kompilieren und laufen ändern! Bedeutung, 2016 ist gedruckt, nicht 3333. Jede Hilfe wird sehr geschätzt.

+0

Wie rekompilieren Sie ?, es hat nichts mit dem Code sicher zu tun. –

+0

Am wahrscheinlichsten Antworten: Sie haben vergessen, neu zu kompilieren, Sie haben vergessen, neu zu starten, oder Sie suchen nach der falschen Datei. – immibis

+0

Speichern Sie die Datei zuerst? Vor dem Kompilieren !! Wenn Sie in code :: blocks dann – mssirvi

Antwort

0

Da Sie die Datei im Append-Modus fp = fopen ("file_out.txt", "a+"); geöffnet haben, wird daher das, was Sie schreiben, an die Datei angehängt. Und ich denke, das Dienstprogramm, das die Datei liest, liest nur die erste Zeile der Datei. Daher erhalten Sie immer We are in 2016.