文件选择输出 c语言,C语言文件输入和输出操作的学习心得(四)

概述

C语言文件输入和输出操作的学习心得(一)

C语言文件输入和输出操作的学习心得(二)

C语言文件输入和输出操作的学习心得(三)

在以上三篇文章中介绍了C语言文件输入和输出的一些基本操作,相信大家阅读以后会对C语言文件操作的知识有一定的了解。本文将通过一个实例向大家演示如何运用前面三篇文章讨论过的函数。该实例的目的为通过C语言对一个文本进行复制,并新建一个文本用来存放复制的字符。事不宜迟,我们立即上码。

实例

#include int copyF(FILE *file);//定义复制文件的函数

int main()

{

FILE *pFile;//定义文件指针

int i;

pFile = fopen("test.txt", "r");//打开文件

i = copyF(pFile);//文件进行复制,返回一个整形数字

if(i==0)//返回值为0表示文件复制成功

{

printf("mission completed...\n");

}else if(i==1){//返回值为1表示文件复制失败,原文件出错

printf("mission failed...file is NULL\n");

}else if(i==2){//返回值为2表示文件复制失败,新文件出错

printf("mission failed...copyfile is NULL\n");

}

fclose(pFile);//关闭文件

return 0;

}

int copyF(FILE *file)

{

char c[32];//定义一个用来储存字符的数组

FILE *copyFile;//定义文件指针

copyFile = fopen("copy.txt","w+");//打开文件

if(file == NULL)//文件指针为空时的措施

{

printf("can not open the file");

fclose(file);

return 1;//错误返回1

}

if(copyFile == NULL)//文件指针为空时的措施

{

printf("can not open the file");

fclose(copyFile);

return 2;//错误返回2

}

while(!feof(file))

{

fgets(c,32,file);//获取原文件的32个字符

fputs(c,copyFile);//将源文件的32个字符写进新文件

}

fclose(copyFile);//关闭文件

return 0;

}

说明

复制文件的基本思路为:首先读出原文件数据,然后将读出的数据写进新的文本中。实例中定义了一个copyF()函数实现复制功能。该函数有一个参数*file,即需要复制文件的指针变量。并返回一个整形数值,返回值分别是0、1、2,具有不同的信息。

在main()函数中调用copyF()函数

int i;

pFile = fopen("test.txt", "r");//打开文件

i = copyF(pFile);//文件进行复制,返回一个整形数字

copyF()

原型:int i = copyF(FILE *file)

int copyF(FILE *file)

{

char c[32];//定义一个用来储存字符的数组

FILE *copyFile;//定义文件指针

copyFile = fopen("copy.txt","w+");//打开文件

if(file == NULL)//文件指针为空时的措施

{

printf("can not open the file");

fclose(file);

return 1;//错误返回1

}

if(copyFile == NULL)//文件指针为空时的措施

{

printf("can not open the file");

fclose(copyFile);

return 2;//错误返回2

}

while(!feof(file))

{

fgets(c,32,file);//获取原文件的32个字符

fputs(c,copyFile);//将源文件的32个字符写进新文件

}

fclose(copyFile);//关闭文件

return 0;

}

实现文件复制的实例还有很多,本文提供其中一个实例作为参考。如有其他实例,欢迎各位朋友前来交流。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值