gpt4 book ai didi

来自文件问题的c编程结构

转载 作者:行者123 更新时间:2023-11-30 15:37:44 25 4
gpt4 key购买 nike

我正在创建一个需要结构的程序。我已经编写了整个程序,但从 txt 文件加载时遇到问题。我的支柱是

    typedef struct{
int empid;
char *name;
}employee;

我目前的读入方法是

employee emparray[100];
int employees = 0;

FILE * employinfpt;
employinfpt = fopen("emps.txt", "r");
char line[100];
int tempint = 0;
char string[500];
while (fgets(line, sizeof(line), employinfpt)) {
//sscanf
sscanf(line, "%d %s", &tempint, string);

emparray[employees].empid = tempint;
emparray[employees].name = string;

//increase employees
employees++;
}

fclose(employinfpt);

我的问题是当我尝试访问结构数组时,它们都具有与最后一个字符串相同的值。我有点菜鸟,我不知道我哪里出了问题。有人有什么建议吗?

最佳答案

它们都指向同一个数组。

尝试

emparray[employees].name = strdup(string);

然后,当它起作用时,请阅读动态内存分配以了解您在这里所做的事情。

关于来自文件问题的c编程结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22106813/

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