2017-12-17 2 views
-2

Ich versuche, meine Ergebnisse in eine Textdatei zu schreiben, damit ich MATLAB zum Plotten usw. verwenden kann und der Code kein Problem hat (ich habe versucht, nur die Ergebnisse mit fprint anzuzeigen) , aber jetzt, wo ich versuche, die Ergebnisse in eine Textdatei zu speichern, erstellt C die Dateinamen amiir.txt, aber es ist leer. Auch wenn ich relative Verzeichnisse verwende, ist die Textdatei leer. Ich habe versucht, eine Textdatei zu erstellen und dann den Code erneut auszuführen, aber es ist leer! was ist falsch? Ich benutze Mac OS und habe sowohl XCode als auch CodeLight ausprobiert! danke. P. S .: Das ist ein Stück von meinem Code:Warum C eine leere Textdatei erstellt

FILE * fp; /* open the file for writing*/ 
fp = fopen ("/Users/amirsmacbookpro/Documents/Heat_Transfer/Project/Debug/amiir.txt","w+"); 

nach einigen Berechnungen anf:

for(i=0;i<Total_Nodes;i++)//Error 
    { 
     if(Temps_Diff[i]>Calculated_Error) Calculated_Error=Temps_Diff[i]; 
    } 
    printf(fp,"\n%.4f",Calculated_Error); 
    // printf(fp,"\n\nROW\tColumn\tTemp\n"); 

    for(i=0;i<=a/l;i++)//Showing results 
    { 
     for(j=0;j<=i;j++) 
     { 
      printf(fp,"%d\t%d\t%.6f\n",i,j,Temperatures[i][j]); 

     } 
    } 
} 
fclose(fp); 
+4

Ihre Aufrufe von 'printf' sollten beim Erstellen Warnungen generieren. Hast du diese Warnungen nicht gelesen? –

+2

Und Sie sollten wirklich [erhalten Sie einen guten Anfänger Bücher oder zwei] (http://stackoverflow.com/questions/562303/the-definitive-c-book-guide-and-list) wie sollte das gelehrt haben, was über ** f ** printf. –

+0

Danke für deinen Kommentar, eigentlich ist es das erste Mal, dass ich mit C arbeite und ich bin nicht an seine Warnungen gewöhnt. Normalerweise verwenden wir MATLAB für unsere Forschungsthemen und MATLAB sagt Ihnen genau, was falsch ist. –

Antwort

2

Sie müssen fprintf statt printf verwenden. Die printf Funktion druckt nur auf die Konsole, nicht auf eine Datei.

Beachten Sie, dass Ihr Compiler sich beschweren sollte (vielleicht mit einer Warnung?) Über Ihre Verwendung von printf. Die printf-Funktion nimmt keinen Funktionszeiger als erstes Argument. Möglicherweise müssen Sie die Compilerwarnstufe aufdrehen, um diese Warnung anzuzeigen.

+0

@MohammadAmirMoghaddam Wenn dies die "richtige" Antwort ist und es dein Problem gelöst hat, solltest du * es * akzeptieren, indem du das Häkchen neben der Antwort drückst. Bitte nehmen Sie sich etwas Zeit, [die Hilfeseiten] (http://stackoverflow.com/help) und [die SO-Tour] (http://stackoverflow.com/tour) zu lesen. –

+0

@Someprogrammerdude in Ordnung, danke. –

Verwandte Themen