fprintf nicht beim schreiben in Datei

Ich versuche, verwenden Sie die folgende C-code zu drucken, die aus einer Vielzahl, die ich habe übergeben. Es sollte die Ausgabe den text in hexadezimal-format, eine auf jeder Zeile, und ich habe keine Probleme beim öffnen der Datei. Zuerst, als ich es schrieb, hatte ich keine Probleme mit der Arbeit, öffnete ich die Ausgabe-Datei und mein array da war. Ich habe die fileOutName Parameters und nun kann ich es nicht mehr zu drucken, alles, was, die ich versucht habe, es zu ändern zurück, und ein paar andere Dinge, und nichts scheint zu funktionieren. Auch wenn ich Debuggen wie es scheint pOutfile ist ein Ungültiger Zeiger, aber wie ich sagte, es immer noch schafft die Datei, die es einfach nicht nichts schreiben. Jede Hilfe würde geschätzt werden. Dank

printoutput(int output[], char * fileOutName){
    int i = 0;
    FILE * pOutfile;
    pOutfile = fopen( fileOutName, "w" );
    while(output[i] != 0){
        fprintf( pOutfile, "0x%0.4X\n", output[i] );
        i++;
    }
}
immer Spülen 🙂 fflush(pOutfile);
Überprüfen Sie auch die Rückkehr von fopen. Dies ist einer der API-Fällen, in denen es fast zwingend, um Fehler zu behandeln. Sie sind sehr Häufig (keine Rechte schreiben, zum Beispiel, fehlenden Medien, Datei bereits vorhanden, aber gesperrt, Magische mit dem Namen, darf nicht verwendet werden, die von apps (/proc oder PRN in windows zum Beispiel)).

InformationsquelleAutor farnett | 2012-09-17

Schreibe einen Kommentar