2012-06-15 124 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:谢谢 - 我从来不知道!我会更新答案。 –

相关问题