gpt4 book ai didi

c - 在C中打开文件进行读取

转载 作者:行者123 更新时间:2023-11-30 19:05:21 25 4
gpt4 key购买 nike

我在 C 编程方面遇到问题,希望得到大家的大力帮助。

我应该编写一个用于管理人力资源的控制台应用程序。下面的代码应该检查 userlist.txt 文件是否存在,如果存在则从中读取。代码编译并链接成功,但执行时出现段错误。

bool userListAvailable() {
bool userListExist = false;
struct user_details userlist[number_of_employee];
FILE *userListFile=fopen("userlist.txt", "w");
if (!(userListFile == NULL)) {
fread(userlist, sizeof (userlist), 1, userListFile);
for (int i = 0; i < sizeof (userlist); ++i) {
if (strstr(userlist[i].email, "@") != NULL) {
userListExist = true;
break;
}
}
}
fclose(userListFile);
return userListExist;
}

知道我做错了什么吗?我尝试了其他几个几乎类似的问题,但都是徒劳。

最佳答案

除了上面的讨论

for (int i = 0; i < sizeof(userlist); ++i) {

很可能是错误的,正如您想要阅读的那样 number_of_employee而不是缓冲区中的字节数。

很可能您会在userlist[i]处遇到段错误。如sizeof(userlist)可能比number_of_employee更大的数字

关于c - 在C中打开文件进行读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50039148/

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