linux下标准IO的使用——freadfwrite

    xiaoxiao2026-05-23  5

    </pre><p>目的: </p><p>一个文件内容test.txt,文件内容如下:   1   2   4   5   编程读写这个文件,修改其内容,添加一行,将文件内容变成:   1   2   3   4   5      基本思路:把正确的内容写入一个临时文件,把临时文件重命名即可</p><p>代码如下:</p><pre name="code" class="cpp">#include <stdio.h> #include <errno.h> int main(int argc, char *argv[]) { FILE *fp1, *fp2; if (2 != argc) { printf("command error!\n"); return -1; } fp1 = fopen(argv[1], "r"); //打开要修改的文件 if (NULL == fp1) { perror("open"); //出错处理 return -1; } fp2 = fopen("3.txt", "w"); //创建一个临时文件 char p[1024]; while (fgets(p, 1024, fp1) != NULL) //行缓存 { fputs(p, fp2); long t = ftell(fp2); //ftell取得当前的文件位置 if (4 == t) fprintf(fp2,"3\n"); } fclose(fp1); fclose(fp2); remove(argv[1]); //删除源文件 rename("./3.txt", "text.txt"); //重命名临时文件 return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-1309977.html
    最新回复(0)