我想用下面的C代碼打印出一個我已經傳入的數組。它應該以十六進制格式輸出每行一個文本,並且我沒有問題打開文件。當我第一次寫它時,我沒有問題,我打開輸出文件,我的數組在那裏。我改變了fileOutName
參數,現在我無法打印出任何我曾嘗試將其改回和其他一些東西,似乎沒有任何工作。另外,當我調試它似乎pOutfile
是一個糟糕的指針,但就像我說的,它仍然創建文件,它只是不會寫任何東西。任何幫助,將不勝感激。由於fprintf沒有寫入文件
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++;
}
}
總是刷新:-)'fflush(pOutfile);' – oldrinb
同時檢查'fopen'的返回值。這是幾乎必須處理錯誤的API案例之一。它們非常普遍(例如,沒有寫權限,缺少媒體,文件已經存在但鎖定,不允許應用程序使用的魔法文件名(例如,Windows中的/ proc或PRN))。 –