gpt4 book ai didi

c - 错误,从 txt 文件扫描到 C 中的结构时应出现 ']'

转载 作者:行者123 更新时间:2023-11-30 20:02:09 25 4
gpt4 key购买 nike

我收到一个奇怪的错误,但我不知道为什么。我尝试从 txt 文件扫描到结构数组,但收到错误。即使我有一个用于数组长度的右括号,它也需要在 SIZE 之后有一个“]”。

这是发生错误的代码片段。我对学习结构是全新的,所以如果除了最初的问题之外还有任何问题,请告诉我。

这是结构体定义:

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.");
}
}

谢谢!

编辑:修复了明显的错误。仍然有智能感知错误

最佳答案

您的 fscanf 中有 %c,它用于单个字符,而不是您看起来的字符串。

使用 %s 代替字符串。

编辑:正如 @luk32 向我指出的那样,fscanf 需要文件指针作为第一位参数。

fscanf = (fp, ...);

来源:http://www.manpagez.com/man/3/fscanf/

关于c - 错误,从 txt 文件扫描到 C 中的结构时应出现 ']',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23415444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com