首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试在c++中打印一行文本文件

尝试在c++中打印一行文本文件
EN

Stack Overflow用户
提问于 2012-04-19 20:13:28
回答 2查看 3.6K关注 0票数 1

我正在尝试打印文本文件中的一行,然后转到下一行并打印它,直到没有更多的行可供打印。这就是我到目前为止所拥有的,但它只在我第一次运行程序时才起作用。

代码语言:javascript
运行
复制
void ReadFile(FILE *a)
{
    char line[23];
    while(fgets(line, 22, a) != NULL)
    {
        printf("%s", line);
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-19 20:16:02

如果要对同一FILE对象多次执行此操作,则需要将文件指针重置回起始位置:

代码语言:javascript
运行
复制
void ReadFile(FILE *a)
{
    char line[23];
    rewind(a);
    while(fgets(line, 22, a) != NULL)
    {
        printf("%s\n", line);    // Added new line
    }
}

Reference

票数 7
EN

Stack Overflow用户

发布于 2012-04-19 20:16:21

您没有对文件进行rewind(a)操作,因此函数的每次迭代都从上一次fgets离开它的地方开始(在本例中为EOF)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10227796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档