fprintf ist nicht drucken, um die Datei

Im folgenden code die fprintf ist nicht Druck auf die Datei und printf zeigt falsche Ausgabe:

#include<stdio.h>

 void main()
{  
    FILE *fp;  
    int d,w,t;
    fp = fopen("file.txt","r+");//already created file having value 10
    fscanf(fp,"%d",&d); 
    printf("%d",d);//print value 10
    t=ftell(fp);
    fseek(fp,t,SEEK_END);
    fprintf(fp,"%d",1000); //printing 1000 to the file
    fscanf(fp,"%d",&w);
    printf("%d",w); //this printf is still printing wrong value 12803
    fclose(fp);
    getch();
}
Ich glaube, Sie brauchen, um zu initialisieren, d und w 0
Schalten Sie Ihren compiler-Warnungen. Auch überprüfen Sie die Rückgabe-Werte der system calls!
und der return-Wert von library-Funktionen.
Erwarten Sie zu Lesen, der Wert von 1000, nachdem Sie es schreiben? Du brauchst ftell und fseek zu sichern, nach dem schreiben, weil das schreiben wird die Datei verschieben-Zeiger als gut.
Sagen uns nicht, es ist "mit dem falschen Ausgang", ohne dass Sie uns die Ausgabe. Und void main() falsch ist; verwenden Sie int main(void).

InformationsquelleAutor Sachin Rana | 2013-08-11

Schreibe einen Kommentar