struct name_strucutre()
{
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,"%42s %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);
return items;
}
这个函数应该返回结构sign_in
这是一种将结构传递回main的安全方法吗?我必须将用户输入的值与结构的值进行比较,这是我能想到的唯一方法。
答案 0 :(得分:-1)
首先,您必须将返回类型定义为struct sign_in
,而不仅仅是struct
。其次,最好返回指向结构的指针,尤其是在结构数组(不是单个对象)的情况下。
答案 1 :(得分:-3)
struct sign_in* name_strucutre()
或struct sign_in& name_strucutre()
struct sign_in items[6];
处发生的堆栈上创建的结构。