问个简单的文件输入的问题

来源:百度知道 编辑:UC知道 时间:2024/06/16 09:24:13
文件中有2行字符,
这样输入为什么不行?
char a[30],b[30];
fscanf(in,"%s",a);
fscanf(in,"%s",b);
文件中本来有2行长度相等的字符,我用strlen测了下a,b长度居然不相等
不是啊,第2行是个地址,老长的
那应该怎么输入呢?

不会的,应该相等的。但是如果其中一行中有空格出现的话,strlen就只测空格前字符串的长度(不包括空格)。所以看看字符里有没有出现空格,再看看该怎么办。
FILE *in;
char a[30],b[30];
in=fopen("in.dat","r");
fscanf(in,"%s",a);
fscanf(in,"%s",b);
printf("%d %d\n",strlen(a),strlen(b));

你调试的时候看看a b里面都是什么内容不就行了、、、、、

可能是s%格式不辨回车为结束符,导至你仅把字符输入第一行,笫二行长度为0