0
我是c編程的新手,我遇到了一個程序問題。我應該從文件中讀取三個數組。我正在使用的文件是Temps.txt,下面是文件中的內容。從文件中讀取兩個數組
1 31 37
2 26 24
3 30 38
4 33 25
5 33 21
6 29 28
7 41 46
此去一路下跌,直到左欄爲31。我寫的代碼是
#include<stdio.h>
#include <math.h>
#include <stdlib.h>
int main()
{
FILE *readfile;
int New_York[31];
int Anchorage[31];
int Dates[31];
int i;
printf("Date New York Anchorage\n");
if((readfile = fopen("Temps.txt", "r")) == NULL)
{
printf("The file Temps failed to open\n");
}
else
{
for(i = 0; i < 31; i++)
{
fscanf(readfile, "%d, %d, %d", Dates + i, New_York + i, Anchorage + i);
printf("%d %d %d\n", *(Dates + i), *(New_York + i), *(Anchorage + i));
}
if(fclose(readfile) == EOF) //close the file.
{
printf("The file failed to close.\n");
}
}
return(0);
}
當我編譯它,它運行和所有正在讀取打印數據的日期數組,在另外兩個數組中,我獲得了非常大的負數和正數。如果你可以請幫助,我會很感激。
謝謝
你'fscanf'格式字符串包含逗號。是那些在文件中,還是文件空間分隔(如您的示例數據所示)? – Mac
對於空格分隔的數字,最好在'scanf'格式字符串中使用不分隔符:'「%d%d%d」'。 – Gene