当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ fgets()用法及代码示例


C++ 中的fgets() 函数从给定文件流中读取指定的最大字符数。

fgets()原型

char* fgets(char* str,int count,FILE* stream);

fgets() 函数从给定的文件流中读取最多 count-1 字符并将它们存储在 str 指向的数组中。

解析会一直持续到文件结束或找到换行符 (\n)。数组str 也将包含换行符,以防万一被发现。如果没有发生错误,则会在 str 的末尾写入一个空字符。

它在<cstdio> 头文件中定义。

参数:

  • str:指向存储文件内容的字符数组的指针。
  • count:要写入的最大字符数。
  • stream: 读取字符的文件流。

返回:

  • 成功时,fgets() 函数返回str,失败时返回空指针。
  • 如果由于文件结束条件导致失败,则设置eof 指示符。在这种情况下,str 的内容不会改变。
  • 如果失败是由于其他错误引起的,则设置错误指示器。在这种情况下,str 的内容是不确定的。它们甚至可能不是空终止的。

示例:fgets() 函数的工作原理

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    int count = 10;
    char str[10];
    FILE *fp;
    
    fp = fopen("file.txt","w+");
    fputs("An example file\n", fp);
    fputs("Filename is file.txt\n", fp);
    
    rewind(fp);
    
    while(feof(fp) == 0)
    {
        fgets(str,count,fp);
        cout << str << endl;
    }
    
    
    fclose(fp);
    return 0;
}

运行程序时,可能的输出将是:

An exampl
e file

Filename
is file.t
xt

相关用法


注:本文由纯净天空筛选整理自 C++ fgets()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。