2021-11-29文件的读写

文件的读写分为字符读写和行读写

        字符读写

        fgetc(文件指针);

                这个函数的意思是读取一个指定文件中的字符,他的返回值就是一个字符,我们可以用           字符变量=fgets的方式为字符变量赋值 

                值得注意的是,函数的读取是读取光标处的字符,而刚开始光标就处于文件中的第一个           字符,当使用过一次fgets函数后,光标会自动换到下一个字符,不需要再进行变量的自增操           作。

#include<stdio.h>
int main()
{
	FILE *fp=fopen("C:/Users/DELL/Desktop/a.txt","r");
	if(fp==NULL)
	{
		return -1;
	}
	char ch;
	while((ch=fgetc(fp))!=EOF)
	
	{
		printf("%c",ch);
	}
	fclose(fp);
	return 0;
}

我们可以通过循环来读出文件中的值

这里我们让循环结束的方法是使用EOF,关于EOF的内容我前面的文章有专门讲,可以去看看

还有一种方法也是可以的,就是feof函数,我们作为拓展来讲。

feof(文件指针)

返回值:如果到文件的结尾,则返回非0的值

              如果没有到文件的结尾,则返回0

fputc(所要放入的字符变量,指针文件)

这个函数就是写入函数,没什么好说的,就是注意创建指针文件的时候不要使用r

         行读写

 fgets(所要保存读出内容的地址,需要读出的大小,文件指针)

行读出函数,可以读出一行的内容,如果限制了需要读出的大小,那么下次读的时候还会读当前行

值得注意的是,这个函数会再最后预留一个‘\0’所以我们要计算好空间大小

fputs(需要输入的变量,文件指针) 

行输入函数,可以将字符串输入到文件中

记着多次使用指针去输入的时候要把指针清空防止污染下次输入

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
	int i=0;
	FILE *fp=fopen("C:/Users/DELL/Desktop/a.txt","w");
	if(fp==NULL)
	{
		return -1;
	}
	
	char* p=(char*)malloc(sizeof(char)*100);
	while(1)
	
	{
		memset(p,0,100);
		if(i==2)
		{
			break;
		 } 
		fgets(p,100,stdin);
		fputs(p,fp);
		i++;
	}
	fclose(fp);
	return 0;
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值