0
我有一個包含字符串,int和double的文本文件。像這樣:如何從文件中讀取不同類型的數據
灰粉10 14.5
朱14 15.5
我需要該數據讀至3個獨立的陣列。 C沒有字符串數組,所以我需要char數組,int數組和double數組。我的代碼:
const int num = 18; //number of data.txt lines
char col_one[15];
int col_two;
double col_three;
int c;
int numberArray[num];
char *nameArray[num];
double doubleArray[num];
int size = 0;
FILE *file;
file = fopen("data.txt", "r");
if (file) {
while ((c = getc(file)) != EOF)
{
fscanf(file, "%s %d %lf", &col_one, &col_two, &col_three);
nameArray[size] = col_one;
numberArray[size] = col_two;
doubleArray[size] = col_three;
size++;
}
fclose(file);
}
for (int i = 0; i < num; i++)
{
printf("%s \n" ,nameArray[i]);
}
但我的代碼只讀取第一個單詞並打印它18次。我怎樣才能讀取字符串變量並將其放入char數組?
嘗試檢查返回值'fscanf' – izlin
'而((C = GETC(文件))!= EOF) { 的fscanf(文件 「%s%d%LF」,與col_one,與col_two,與col_three ); nameArray [size] = col_one;' - >'while(fscanf(file,「%14s%d%lf」,col_one,&col_two,&col_three)== 3 && size
BLUEPIXY
和'我< num;' -->'我
BLUEPIXY