从文件读取输入时,我的C程序没有正确读取整数。有什么建议?

时间:2015-10-19 00:44:20

标签: c++ c

我有一个文本文件,我应该用文件输入/输出技术阅读:

47900       31007
34500        9100
57984       14822

这是我的代码:

#include <stdio.h>

 FILE *input;
 int CA1;
 int CA2;
 int CA3;
 int CL1;
 int CL2;
 int CL3;


int main (void)
{
    input = fopen("c:\\class\\currentratio.txt","r");
    fscanf(input,"%d %d\n", &CA1, &CL1);
    fscanf(input, "%d %d\n", &CA2, &CL2);
    fscanf(input, "%d %d\n", &CA3, &CL3);
    printf("%d", &CA1);
    fclose(input);
    return 0;
}

当我打印数字时,它们是

  

4229680,4229704,4229744,4229712,4229664和4229720.

感谢帮助人员。

1 个答案:

答案 0 :(得分:6)

您正在打印变量的地址而不是它的值 摆脱地址:printf("%d", CA1);

另一件事,你没有检查,如果文件打开成功,你应该处理它,特别是在某些东西不起作用的情况下。

if(!input)
{
    printf("Could not open the file specified.");
    return -1;
}