C语言文件操作 (二)

学习来源:C语言文件操作 (freecplus.net)

文本文件的读写

在实际开发中,文本文件以行的形式存放字符串,如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返回空,可以认为是文件结束而不是发生了错误,因为发生错误的情况极少出现。

 

posted @ 2020-12-03 00:28  石头,等待  阅读(112)  评论(0编辑  收藏  举报