我收到一個奇怪的錯誤,我不知道爲什麼。我試圖從一個txt文件掃描到一個結構數組,我得到一個錯誤。它需要SIZE後的']',即使我有一個數組長度的右括號。錯誤,從txt文件掃描到C中的結構時出現'''''
下面是錯誤發生的代碼片段。我是全新的學習結構,所以如果除了最初的問題以外都有其他錯誤,請告訴我。
這裏是結構定義:
struct employData{
char first[7];
char initial[1];
char last[9];
char street[16];
char city[11];
char state[2];
char zip[5];
int age;
char sex[1];
int tenure;
double salary;
};
然後在這裏是行不通的掃描功能:
int readData(employData){
int i = 0;
struct employData dataArray[SIZE];
fp = fopen("payfile.txt", "r");
if (fp != NULL){
printf("File opened. Scanning...");
while (!(feof(fp))){
fp = fscanf(fp, "%s %s %s %s %s %s %s %s %d %s %d %lf", dataArray[i].first, dataArray[i].initial, dataArray[i].last, dataArray[i].street, dataArray[i].city, dataArray[i].first, dataArray[i].state, dataArray[i].zip, dataArray[i].age, dataArray[i].sex, dataArray[i].tenure, dataArray[i].salary);
i++;
}
}
else {
printf("File open failed.");
}
}
謝謝!
編輯:修正了明顯的錯誤。仍然存在智能感知錯誤
是否編譯?它是否按預期工作?也許「智能」不是那麼聰明。有時候這種情況會發生。首先編譯它,然後處理警告。 – luk32
'SIZE'的定義是什麼? – usr2564301
我修復了'fscanf'中的所有錯誤,並且無法重現您所抱怨的錯誤。它可能來自代碼中的其他地方 - 可能是缺少分號。 – Barmar