C语言文件操作(精简)

C语言文件操作

在C语言中,文件操作常用的就两种
1. 重定向版
2. fopen版
其中重定向是直接修改程序读取数据的方式,fopen是直接打开文件,从而读取。

重定向

freopen("data.in", "r", stdin);
freopen("data.out", "w", stdout);

第一行代码的意思是修改读取数据的方式,将stdin(标准输入设备,可以理解为黑框框中你输入的数据)设置为从data.in文件中读取。r代表read。
第二行代码是修改写数据的方式,有stdout(标准输出设备,可以理解为黑框框中printf的东西)设置成输出到data.out文件中,w代表write。
当这两行代码执行之后,就要注意了,你再也没有办法从黑框框中输入数据和输出数据了,一切都在文件中了。

fopen

fopen和重定向就不同,重定向是直接修改原来读取数据的方式,而fopen仅仅是打开了一个文件,可以读取,也可以写入。并不影响你原来在黑框框中的输入输出。

File *fin, *fout;
int x;
fin = fopen("data.in", "rb");
fout = fopen("data.out", "wb");
while(fscanf(fin,"%d",&x) == 1){
 /**对x的操作**/
}
fprintf(fout, "%d", x);
fclose(fin);
fclose(fout);

最开始我们定义了两个文件流,fin和fout,用来存取从fopen中读取到的数据。
然后一直循环从data.in中读取,一直到没有数据可读,也就是fscanf返回的数据不是1为止
最后,我们再输出x到data.out文件中。
这里需要注意的是,fscanf、fprintf与scanf、printf的区别其实并不大,只是第一个参数是文件流而已。
最后请大家注意,当你使用了文件流,最后一定要记得把它关掉。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值