关于scanf读写文件数据

来源:互联网 发布:淘宝怎么上第三方活动 编辑:程序博客网 时间:2024/06/05 10:15

如果输入输出都想用到文件,可以用下面两行代码。

freopen("input.txt", "r", stdin);freopen("output.txt", "w", stdout);

这两行代码的作用是重定向,作用是使得scanf从文件input.txt读入数据,printf把数据写到output.txt里。

     scanf在读入数据的时候,如果把数据赋给整型变量,那么会自动忽略空格和回车。只读入数字。

如果输入文件中有字符的话,读入后会赋0,并且后面所有的数字均赋0,如下图所示。(左边是输出文件,右边是输入文件,输出数字间的空格是我自己加的)

     当读到文件最后时,scanf会返回EOF,也就是-1(在stdio.h中#define EOF (-1))。所以当你不知道文件中的数据量时,可以用while(scanf() != EOF)来自动读取文件数据。