读书人

请教这代码有关问题出在哪

发布时间: 2013-04-20 19:43:01 作者: rapoo

请问这代码问题出在哪?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
FILE *in,*out;
int num;
in=fopen("in.txt","r");
out=fopen("out.txt","w");
while(fscanf(in,"%d",&num)!= EOF)
printf("%d",num);
fclose(in);
fclose(out);
return 0;
}

in.txt里面的内容是
76549879484

为什么一运行就打印了-759531844
[解决办法]
printf("%d",num);

32位系统下 %d (int) 的最大值是4294967296

你改成%ld 试试。

[解决办法]
你的txt文件是以什么格式存的,如果是unicode会自动在前面加点东西以标识它是unicode文件,用ultraedit以二进制打开看看吧,而且txt里存的是文字也就是“76549879484”这个字符串。

读书人网 >C++

热点推荐