我在文件中写入了两行新行。新行将附加到该文件中。如何将这两行新行打印到控制台。
您能给我一些关于这方面的例子吗?
流程如下:
fd = open(文件, 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);
最佳答案
如果你想读回刚刚写入的数据,那么你可以使用ftell
来获取你在文件中的位置然后写入,然后fseek
重新定位到相同的位置指向并阅读
关于c - 如何在Linux C编程中读取文件中的某些特定行并在控制台中打印它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33571172/