fprintf
用于将格式化的输出写入到文件中,该函数定义在 stdio.h
头文件中。其定义如下:
int fprintf(FILE *stream, const char *format, ...);
其中,stream
为指向一个文件的指针,该文件已经由 fopen
或其他函数打开;format
为要写入文件的字符串,与 printf
函数的格式字符串类似;...
为可变参数列表,根据格式字符串中的格式说明符进行格式化。
若函数执行成功,则成功写入数据至文件中。如果发生错误,则返回一个负值。
?fgets
用于从文件中读取一行内容的函数,定义在 stdio.h
头文件中。其定义如下:
char *fgets(char *str, int n, FILE *stream);
其中,str
为指向一个字符数组的指针,用于存储从文件中读取的内容 ;n
为要读取的最大字符数,stream
为指向一个文件的指针,该文件已经由 fopen
或其他函数打开.
若函数执行成功,返回指向存储该行的字符数组的指针;失败返回 NULL。
写一段代码:目的是创建一个名为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;
}
运行程序输出: