c - 使用 Fgets 读取 cpp 文件的所有行

标签 c fgets

在我的简单实现中。我想读取 cpp 文件的所有行

FILE * pFile;
    fopen_s(&pFile,"test.cpp","r+");
    if (pFile!=NULL)
    {
        fputs ("fopen example", pFile);
        char str [200];
        while (1) {
            if (fgets(str, 200, pFile) == NULL) break;
            puts(str);
        }   
        fclose (pFile);
    }

我的text.cpp包含这个:

Testline1
Testline2
Testline3
Testline4

作为输出,我得到不可读的字符:

ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

我的代码有什么问题吗?

我的想法是搜索一行特殊的代码,然后再编辑它

最佳答案

当文件打开进行更新时,如果您想在写入后读取2,则需要调用fflush1。因此,在此处写入文件后调用它:

fputs ("fopen example", pFile);

1(引自 ISO/IEC 9899:201x 7.21.5.3 fopen 函数 7)
然而,输出后面不应直接跟输入而不加 对 fflush 函数或文件定位函数(fseek、 fsetpos,或倒带)

2 输出正在写入文件,输入正在读取文件。

关于c - 使用 Fgets 读取 cpp 文件的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38392376/

相关文章:

c - 从 C 程序执行 "echo $PATH"?

c - 在其他输入之后使用 fgets()

c - w+ 尝试读取文件内容时不起作用

javascript - 在 C 中动态更改函数

c - 我的链接列表有问题

c - 教程中的按位运算困惑

c - fget 是如何工作的?

c - 在 C 中越界访问数组不会产生运行时错误

objective-c - 为什么 fget 不工作?

c fgets 字符数组