C++基础:文件操作函数fprintf(),fgets()

发布时间:2024年01月21日

1.fprintf()

fprintf 用于将格式化的输出写入到文件中,该函数定义在 stdio.h 头文件中。其定义如下:

int fprintf(FILE *stream, const char *format, ...);

其中,stream为指向一个文件的指针,该文件已经由 fopen 或其他函数打开;format为要写入文件的字符串,与 printf 函数的格式字符串类似;...为可变参数列表,根据格式字符串中的格式说明符进行格式化。

若函数执行成功,则成功写入数据至文件中。如果发生错误,则返回一个负值。

2.fgets()

?fgets 用于从文件中读取一行内容的函数,定义在 stdio.h 头文件中。其定义如下:

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

其中,str为指向一个字符数组的指针,用于存储从文件中读取的内容 ;n为要读取的最大字符数,stream为指向一个文件的指针,该文件已经由 fopen 或其他函数打开.

若函数执行成功,返回指向存储该行的字符数组的指针;失败返回 NULL。

3.举例

写一段代码:目的是创建一个名为aa.txt的文件,并向其中写入三行数据。然后读取这些数据并打印到屏幕上。

#include <stdio.h>      
int main(){    
    FILE * file_ = fopen("/home/zhouweiqing/14/src/aa.txt","w+");    
    if(file_ == NULL) {    
        perror("打开失败");    
        return 1;  // 返回错误代码    
    }    
    for(int a=0;a<3;a++){    
        fprintf(file_,"输入的是你好,%d\n",a);    
    }    
    rewind(file_);  // 将文件指针重新定位到文件的开头    
    char buffer[1024];      
    while (fgets(buffer, sizeof(buffer), file_)) {      
        printf("%s", buffer);      
    }      
    fclose(file_);    // 在读取完文件后关闭文件  
    return 0;    
}

运行程序输出:

文章来源:https://blog.csdn.net/shnhe/article/details/135623276
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。