文件操作(1)

1.文件的打开和关闭


文件在读写之前应该先打开文件,在使用结束之后应该关闭文件。
在编写程序的时候,在打开文件的同时,都会返回一个FILE*的指针变量指向该文件,也相当于建立了指针和文件的关系。
ANSI C规定使用fopen函数来打开文件,

成功打开文件后, fopen 将返回一个指向 FILE 类型指针,此指针用于后续的文件操作2。如果打开失败, fopen 将返回 NULL ,并且错误代码会保存在 errno 中。


fclose 来关闭文件。

参数 stream  是指向 FILE  类型指针,指的是要关闭的文件。如果关闭成功, fclose  返回0,否则返回EOF(-1)。

//打开文件
FILE* fopen(const char* filename, const char* mode);
//关闭文件
int fclose(FILE * stream);

const char* filename表示文件名

const char* mode表示文件打开的模式

有如下几种方式

 比如我要打开道德经这个文件只读,就可以像下面这样写

int main(void)
{
	char ch = 0;
	FILE* pf = fopen("道德经全文.txt", "r");
	if (pf == NULL)
	{
		perror("fopen");
		return 1;
	}
	fclose(pf);
	return 0;
}

我们接下来就可以看文件的读写了。 

2.文件的顺序读写

 

 我们拿其中fgetc为例

fgetc函数简介 :
fgetc是C语言中的一个文件操作函数,用于从指定的文件中读取一个字符。

该函数的声明如下:

int fgetc(FILE *stream);

其中,参数 stream 是一个指向文件指针的指针。

使用方法 :

包含头文件 :在程序中需要包含 stdio.h 头文件。
打开文件 :使用 fopen 函数打开文件,获得文件指针。

例如:

FILE *fp;
fp = fopen("filename.txt", "r"); 

r模式表示只读读取字符 :调用 fgetc 函数读取文件中的字符2。

例如:

int ch = fgetc(fp);

这将读取filename.txt文件中的一个字符,并将其存储在整数变量ch中。


关闭文件 (可选):如果不再需要文件指针,可以使用 fclose 函数关闭文件。

例如:

fclose(fp);

返回值 :

如果成功读取字符, fgetc 函数返回读取到的字符的ASCII值。
如果到达文件末尾或读取出错,返回 EOF (-1)。

EOF的全称是end of file

fputc函数

int putc(int c, FILE *stream);

 c  是要写入的字符,通常是一个 char 类型的变量。
 stream  是一个指向 FILE 对象的指针,该 FILE 对象指定了一个输入/输出流。

 putc 函数将字符 c 写入指定的流,并返回写入的字符。如果发生错误,它将返回 EOF 。
 

那么思考一下,既然fgetc和fputc可以作用于所有的流

那么是不是也可以作用于标准输入流和标准输出流

答案显然是可以的

int main(void)
{
	int ch = fgetc(stdin);//从键盘(标准输入流)上读取
	fputc(ch, stdout);//将字符输出(写)到屏幕(标准输出流)
	return 0;
}

作用和scanf和printf是差不多的。

其实通过文件的知识我们可以去尝试去做一共破损版的的电子书模拟器了

电子书模拟器(破损版一稿)-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值