一、
文件操作( C )
二、
文件操作( C )
文件操作( C )
三、
文件操作( C )
文件的打开:

void print()
{
	FILE *fp=fopen("text2.txt","r");//打开;
	char c;
	while((c=fgetc(fp))!=EOF)
	putchar(c);
	fclose(fp);// 关闭;
	return ;
}

四、
文件操作( C )
fgetc 和 fputc 读入一个字符;

void add()
{
	FILE *fp=fopen("text.txt","w");
	if(fp==NULL) printf("error!\n");
	else
	{
		while(1)
		{
			char c=getchar();
			if(c=='#') break;
			fputc(c,fp);
			putchar(c);
		}
	}
	fclose(fp);
	return ;
}

五、
文件操作( C )
示例:文件的copy:

void copy()
{
	FILE *in=fopen("text.txt","r"), *out=fopen("text2.txt","w");
	while(!feof(in))//使用feof判断文件是否结束;
	fputc(fgetc(in),out);
	print();
	fclose(in);fclose(out);
	return ;
}

六、
文件操作( C )
示例:

//假如说有一个存储人们信息的文件;
struct pre{
	int data;
	char name[11];
	char num[11];
};
struct pre a[101],b[101];
void save(int n)//信息的存储;
{
	FILE *fp=fopen("people.txt","wb");
	for(int i=0;i<n;i++)
	fwrite(&a[i],sizeof(struct pre),1,fp);
	fclose(fp);
	return ;
}
void display(int n)//从文件中读入;
{
	FILE *fp=fopen("people.txt","rb");
	int i=0;
	while(!feof(fp))
	{
		fread(&a[i],sizeof(struct pre),1,fp);
		printf("%s %s %d\n",a[i].num,a[i].name,a[i].data);
		i++;
	}
	fclose(fp);
	return ;
}
void people()
{
	int n;
	scanf("%d",&n);
	for(int i=0;i<n;i++)
	scanf("%s%s%d",a[i].num,a[i].name,&a[i].data);
	save(n);
	display(n);
	return ;
}

七、
文件操作( C )
示例:

void form()
{
	FILE *fp=fopen("text.txt","w");
	char a[11];
	int b;
	fscanf(stdin,"%s%d",a,&b);//read from keyboard;
	fprintf(fp,"%s %d",a,b);//put into the file;
	fclose(fp);
	fp=fopen("text.txt","r");
	fscanf(fp,"%s%d",a,&b);//read from the file;
	fprintf(stdout,"%s %d",a,b);//print to screen;
	fclose(fp);
	return ;
}

八、
文件操作( C )
fgets和fputs是每次操作一行字符;

示例:

void read_str()
{
	FILE *fp=fopen("text.txt","w");
	char a[81],b[81];
	scanf("%s%s",a,b);
	fputs(a,fp);
	fputs("\n",fp);
	fputs(b,fp);
	fclose(fp);
	fp=fopen("text.txt","r");
	while(fgets(a,81,fp)!=NULL)
	printf("%s",a);
	fclose(fp);
	return ;
}

九、
文件操作( C )
示例:

void back()
{
	FILE *fp=fopen("text.txt","w");
	char a[81];
	scanf("%s",a);
	fputs(a,fp);
	fputs("\n",fp);
	fclose(fp);
	fp=fopen("text.txt","r");
	while(fgets(a,81,fp)!=NULL)
	printf("%s",a);
	rewind(fp);//  重置文件指针到文件开头; 
	while(fgets(a,81,fp)!=NULL)
	printf("%s",a);
	fclose(fp);
	return ;
}

十、
文件操作( C )
文件操作( C )
不过感觉基本上读取文件没啥错。。。。
文件操作( C )
基本没用过。。。

总结下:

我们有
fopen 和 fclose
fscanf 和 fprintf
fgetc 和 fputc
fgets 和 fputs
fwirte 和 fread
fseek 和 ftell
ferror
feof
clearerr

好多。。。????

相关文章:

  • 2021-08-18
  • 2021-09-18
  • 2021-07-01
  • 2021-08-31
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-27
  • 2021-07-03
  • 2022-01-13
相关资源
相似解决方案