【发布时间】:2009-12-12 08:37:50
【问题描述】:
这是错误的。我的代码有什么问题?
#include "stdafx.h"
#include "stdlib.h"
#include "ctype.h"
int _tmain(int argc, _TCHAR* argv[])
{
FILE* input;
int num;
int numCount = 0;
input = fopen("123.txt", "r");
if (!input)
{
printf("No file \a\n");
exit (101);
}
while ((fscanf(input, "%d", &num)) == 1)
printf("%d", num);
if (isdigit(input))
numCount++;
printf("number count: %d", numCount);
return 0;
}
【问题讨论】:
-
您遇到了什么样的错误,编译器错误或运行时错误,或者它没有按照您想要的方式工作?这些可能会帮助您获得一些答案
-
errorC2664'isdigit' 无法从“FILE*”更改为“int”
-
您需要考虑“isdigit”的作用。不要让参数类型 (int) 让您感到困惑。它检查 character 并在传递的参数是数字时返回非零值。您绝对不希望代码中出现 fscanf 调用。