我遇到了struct数组的问题。 我试图将一个字符串的一部分复制到一个结构数组的一个元素。 (抱歉,如果这听起来并不清楚)如何将一部分字符串复制到struct数组的元素中?
这里是我的代码
#include <stdio.h>
#include <string.h>
struct dict {
char key[1024];
char value[16384];
int level;
};
int main()
{
struct dict entry[2562];
char str[]="i will finish my mp";
int j=0;
int i = 0;
char temp[1024];
char a =0;
while(a != 'h'){
a = str[i];
temp[i] = str[i];
i++;
}
strcpy(entry[0].value,str);
puts(entry[0].value);
return 0;
}
它编译但它确实分段错误,我不知道是什么地方错了 请帮助
'struct dict entry [2562];'可能有点太大而不适合自动存储(“在堆栈上”)使其成为全局或动态分配。 – wildplasser 2012-03-07 12:12:59
由于您在堆栈中分配了大型数组'struct dict entry [2562]',因此可能会出现段错误。尝试将其移出该功能并查看它是否有效。 – dasblinkenlight 2012-03-07 12:13:39
尝试在调试器中运行它,它将帮助您查明错误位置并让您检查变量以查看可能存在的问题。 – 2012-03-07 12:16:16