我在一个文件中写了两个新行。新行将附加到此文件。如何将这两个新行打印到控制台。
你能告诉我一些这方面的例子吗?
流程如下:
fd = open(file , O_WRONLY | O_APPEND, 0666);
ret = read(0, buf, 100);
write(file, buf, strlen(buf));
问题是第四个过程。如何读取刚刚写入文件的新行,而不是此文件中的旧内容。下面是我打印整个内容的代码。
FILE *fptr;
char chr;
fptr = fopen(file, "r");
if (fptr == NULL)
{
perror("open");
exit(1);
}
chr = fgetc(fptr);
while(chr != EOF) {
printf("%c", chr);
chr = fgetc(fptr);
}
clearerr (fptr);
fclose(fptr);
答案 0 :(得分:1)
如果你想回读你刚才写的数据,那么你可以使用ftell
获取你在文件中的位置然后写,然后fseek
重新定位到同一个点并读取