C语言文件操作 (二)
文本文件的读写
在实际开发中,文本文件以行的形式存放字符串,如C程序的源代码,一段文字等,所以一般是按行写入和读取数据。
1.向文件写入数据
C语言向文件中写入数据库函数有fputc、fputs、fprintf,在实际开发中,fputc和fputs没什么用,只介绍fprintf就可以了。fprintf函数的声明如下:
int fprintf(FILE *fp, const char *format, ...);
fprintf函数的用法与printf相同,只是多了第一个参数文件指针,表示把数据输出到文件。
fprintf() 返回成功写入的字符的个数,失败则返回负数
/* * 程序名:12-02-01.c,此程序用于向文件中写入文本数据 */ #include <stdio.h> int main() { int i ; FILE *fp = NULL ; int resultsum= 0; fp = fopen("D:/学习/111.txt", "w"); if ( fp == NULL ) { printf("D:/学习/111.txt 打开失败"); return -1; } for (i = 0; i < 10; i++) { fprintf(fp, "今天是2020年12月2日.\n"); } fclose(fp); }
2. 向文件读取数据
C语言从文件中读取数据的库函数有fgetc、fgets、fscanf,在实际开发中,fgetc和fscanf没什么用,只介绍fgets就可以了。fgets函数的原型如下:
char *fgets(char *buf, int size, FILE *fp);
fgets的功能是从文件中读取一行。
参数buf是一个字符串,用于保存从文件中读到的数据。
参数size是打算读取内容的长度。
参数fp是待读取文件的文件指针。
如果文件中将要读取的这一行的内容的长度小于size,fgets函数就读取一行,如果这一行的内容大于等于size,fgets函数就读取size-1字节的内容。
调用fgets函数如果成功的读取到内容,函数返回buf,如果读取错误或文件已结束,返回空,即0。如果fgets返回空,可以认为是文件结束而不是发生了错误,因为发生错误的情况极少出现。