我有一个获取数组的函数,并假设返回一个struct
结构如下所示:
typedef struct
char name[16];
int year;
int month;
int day;
c }
和一个功能。
该函数基本上获取一个数组并将数组划分为struct。当我到达函数的末尾时,我收到了运行时错误:
运行时检查失败#2 - 堆叠变量' temp_date'已经腐败了。
这是功能:
city cityspliter(char *info)
city temp;
int t,i, length;
char temp_date[2];
length = strlen(info);
for (i = 1; i < length; i++)
{
if (info[i] != '~')
temp.name[i - 1] = info[i];
else
{
temp.name[i - 1] = NULL;
break;
}
}
t = 0;
while (info[i+1]!='/')
{
temp_date[t] = info[i + 1];
i++;
t++;
}
temp.day = get_number(temp_date);
t = 0;
while (info[i + 1] != '/')
{
temp_date[t] = info[i + 1];
i++;
t++;
}
temp.month = get_number(temp_date);
while (info[i + 2] != '>')
{
temp_date[t] = info[i + 2];
i++;
t++;
}
temp.month = get_number(temp_date);
t = 0;
while (info[i] != '>')
{
temp_date[t] = info[i];
i++;
t++;
}
temp.year = get_number(temp_date);
return temp;
}
任何想法有什么不对?