繼承人到目前爲止我的代碼,基本上我閱讀的文本文件,並試圖通過線路輸入的每一行保存到一個字符數組。文本文件被正確讀取並保存到一個字符數組,然後我遍歷並嘗試將數字保存到int
。錯誤分析從文本文件c INT
*這是不是整個代碼塊,因爲它是我的工作分配。提供的當前代碼僅用於調試目的。
//takes input of file, saves it to array
char word[20];
scanf("%s", word);
//File to open
char line[10];
char number[10];
FILE *file;
file = fopen(word, "r");
if (file) {
while (fgets(line, sizeof(line), file)) {
printf("%s", line);
int i,j=0;
int parsedInt;
for(i=2; i<sizeof(line) && !isspace(line[i]); i++)
{
number[j] = line[i];
j++;
}
sscanf(number, "%d", &parsedInt);
printf("PARSED INT %d \n\n", parsedInt);
parsedInt = 0;
下面是一個示例輸入文件,我已經處理了i
和d
,工作正常。
i 10
i 12
d 10
i 3
和繼承人與這些數字
i 10
PARSED INT 10
i 12
PARSED INT 12
d 10
PARSED INT 10
i 3
PARSED INT 32
樣本輸出一個人能解釋爲什麼上次輸入給出了一個32而不是3中,而另一些得當?
'for(i = 2; i
'number'需要空值終止 – BLUEPIXY
如果您解析只有一個字符線什麼'I = * 2 *;?I <的sizeof(線)&& isspace爲(行* [I] *);!?'你會讀到。壞數據 – LoztInSpace