马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp;
int k,n,a[6] = {1,2,3,4,5,6};
fp = fopen("d2.dat","w");
fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);
fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]); //这两行代码将123456,输入fp
fclose(fp);
fp = fopen("d2.dat","r");
fscanf(fp,"%d%d",&k,&n); //按照我之前问的说是遇到\0停止,\n只是换行,那么应该是将fp里的123456全部输出到k变量里??
printf("%d%d\n",k,n); //之后我试了一下只输出k,只输出了123,所以是fscanf输出时遇到\0或\n都会停止吗??
fclose(fp);
return 0;
}
\0结束是针对%s来说的,而这里是%d。
将123456写入fp后,文件内容是这样的:
123
456
%d输入整数时遇到非数字结束,123后面是\n(不是数字), 读取结束, 所以k的值是123
%d也会跳过开头的空白(空格, \t, \n), 所以下一个%d读n时, 跳过\n, 读取456结束, n的值是456
|