這是錯誤的。我的代碼有什麼問題?如何統計文件中的數字位數?
#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;
}
而什麼樣的錯誤你有,編譯器錯誤或運行時錯誤遇到,或也許它沒有按照你想要的方式工作?這些可能會幫助你得到一些答案 – 2009-12-12 08:41:16
errorC2664'isdigit' 不能從「FILE *」更改爲「int」 – 2009-12-12 08:47:21
您需要考慮「isdigit」的作用。不要讓參數類型(int)混淆你。它檢查一個*字符*,並且如果傳遞的參數是一個數字,則返回非零值。你絕對不想在你的代碼中調用fscanf。 – 2009-12-12 16:30:55