首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-04-20 
请问这代码问题出在哪?#include stdio.h#include stdlib.h#include string.hint main(){FILE *in,*o

请问这代码问题出在哪?

#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”这个字符串。

热点排行