gpt4 book ai didi

c - 导致程序崩溃的结构

转载 作者:太空宇宙 更新时间:2023-11-04 06:20:16 25 4
gpt4 key购买 nike

int get_name()
{
char cName[] = "hello";
int iCode, i = 0;
struct sign_in items[6];//array of six structure variables

Fpointin =fopen("namepass.txt","r");

if (Fpointin == NULL)
{
printf ("File does not exist.\n");
}
else
{
for (i=0;i<6;i++)
{
fscanf(Fpointin,"%s %d",items[i].name,items[i].password);//read all values from the file into th structure
}
printf("Here is the sign_in structure\n");//print the entirety of the sign_in structure
for (i=0;i<6;i++)
{
printf("name: %s\ncode: %d\n\n", items[i].name, items[i].password);
}
}
fclose(Fpointin);
}

大家好。所以我从一个项目中得到了这段代码,但每当我尝试运行它时它就会崩溃。我正在尝试将名称及其各自的密码从文件读取到结构,但它不起作用。在 fscanf 行中,我交换了 %s %d 标识符,它运行了,但它打印了随机的东西,这些东西甚至没有关闭文件中的内容。有什么想法吗?


[更新自 comment :]

struct sign_in
{
int password; //The password for each player
char name[]; //Name of the people who can sign in
}

最佳答案

如果能看到结构体 sign_in 是什么样子,那将非常有帮助。但是,快速浏览一下代码,一个明显的错误是扫描密码的方式。

fscanf(Fpointin,"%s %d",items[i].name,items[i].password);

这一行应该是:

fscanf(Fpointin,"%s %d",items[i].name, &items[i].password);

需要传入变量items[i].password的地址,fscanf才能在该地址指向的内存位置存储一个值。

希望对您有所帮助。

关于c - 导致程序崩溃的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36760161/

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