C语言 文件操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言中的文件操作
12.1请编写一个程序,把一个文件的内容复制到另一个文件中。
程序如下:
#include
main()
{
char ch;
FILE *fp1;
FILE *fp2;
if((fp1=fopen("C:\\Users\\acer\\Documents\\1.txt","r"))==NULL)
{
printf("The file 1.txt can not open!");
exit(0);
}
if((fp2=fopen("C:\\Users\\acer\\Documents\\2.txt","w"))==NULL)
{
printf("The file 2.txt can not open!");
exit(0);
}
ch=fgetc(fp1);
while(!feof(fp1))
{
fputc(ch,fp2);
ch=fgetc(fp1);
}
fclose(fp1);
fclose(fp2);
}
运行结果:
12.3请编写一个程序,比较两个文件,如果相等则返回0;否则返回1。
程序如下:#include
main()
{
FILE *f1,*f2;
char a,b,c;
int x;
printf("input strings for file1\n");
f1=fopen("file1","w");
while((c=getchar())!= EOF)
putc(c,f1);
fclose(f1);
printf("output strings for file1\n");
f1=fopen("file1","r");
while((c=getc(f1))!= EOF)
printf("%c",c);
fclose(f1);
printf("\n\ninput strings for file2\n");
f2=fopen("file2","w");
while((c=getchar())!= EOF)
putc(c,f2);
fclose(f2);
printf("\noutput strings for file2\n");
f1=fopen("file2","r");
while((c=getc(f2))!= EOF)
printf("%c",c);
fclose(f2);
f2=fopen("file2","r");
getch();
}
运行结果:
12.4请编写一个程序,将一个文件添加到另一个文件中去。
程序如下:
#include
#include
int main()
{
FILE *f;
system("mkdir D:\\abc\\def");
if((f=fopen("D:\\abc\\1.txt","wb"))==NULL)
{
printf("\nopen file error");
getchar();
exit(1);
}
fputs("test",f);
fclose(f);
return 0;
}
运行结果:
打开文件:
12.8请编写一个程序,创建一个有序文件,用来存储5种产品信息,这些信息包括产品编码,定价和库存数量,应显示恰当的错误消息。
程序如下:
#include
main()
{
FILE *fp;
int number,quantity,i;
float price;
char item[10];
fp=fopen("PRODUCT","w");
printf("input product data \n\n");
printf("Item name Number Price Quantity\n");
for(i=1;i<=5;i++)
{
scanf("%s %d %f %d",item,&number,&price,&quantity);
fprintf(fp,"%s %d %.2f %d\n",item,number,price,quantity);
}
fclose(fp);
getch();
}
运行结果:
打开文件:
问题一:
从一个磁盘文件顺序读入字符并在屏幕上显示。
Answer:
#include
#include
void main()
{
char ch;
FILE *fp;
if((fp=fopen("1d.txt","r"))==NULL) //从文件1.txt中读取数据。 {
printf("The file can not be read!");
exit(0);
}
ch=fgetc(fp);