2012-06-15 164 views
-4

這裏是在即時得到錯誤代碼....如何在ubuntu中使用C語言在.dat文件中追加數據?

for (i=0; i<portcount; i++) 
{ 
    printf("%f ", ccds[i]/100000); 
    fp=fopen("/administrator/IDS/et.dat", "a"); 
    //fprintf(fp, "er");   
    fprintf(fp, "%d ", (int)ccds[i]/100000); 
    fclose(fp); 
} 
+1

謝謝你告訴我們。 – glglgl

+4

你究竟得到了什麼錯誤? –

+5

對代碼本身的評論:最好在循環之前打開並在之後關閉。這會減少開銷。 – glglgl

回答

6

您應該檢查該文件實際上是打開成功,而且很可能也把文件打開/關閉循環:

fp = fopen("/administrator/IDS/et.dat", "a"); 
if (fp == NULL)    // always check for success when opening a file 
{ 
    perror("fopen failed"); 
} 
else 
{ 
    for (i = 0; i < portcount; i++) 
    { 
     fprintf(fp, "%d ", (int)ccds[i]/100000); 
    } 
    fclose(fp); 
} 
+2

追加(「a」)模式始終寫入文件結尾,不需要搜索。 – interjay

+0

@interjay:謝謝 - 我從來不知道!我會更新答案。 –

相關問題