此代码生成 26*26*26*26 hasname(使用 az 的组合)或者您可以说出我想分配给结构成员的随机名称。现在,当我通过首先分配该结构成员足够的内存然后使用来分配它时strcpy,只有此代码生成的最后一个哈希名被传递给结构,即 zzzz(它是最后一个哈希名)。我该怎么做才能从一开始就分配哈希名。
vcd_xyz[4] = '\0';
int count = 0;
for(int i=0;i<26;i++)
{
vcd_xyz[0] = 'a'+i;
for(int j=0;j<26;j++)
{
vcd_xyz[1] = 'a'+j;
for(int k = 0;k<26;k++)
{
vcd_xyz[2] = 'a' + k;
for(int l=0;l<26;l++)
{
vcd_xyz[3] = 'a' +l;
count ++;
printf("%s\n",vcd_xyz);
}
}
}
}
所以我正在使用
sss->Variables[0].hashname = (char*)calloc(strlen((char*)vcd_xyz)+1,sizeof(char));
strcpy(sss->Variables[0].hashname,(char*)vcd_xyz);
复制产生的hasname,但它正在复制最后产生的hashname,所以无论tr0->Variables[0].hashname = (char*)calloc(strlen((char*)vcd_xyz)+1,sizeof(char));
strcpy(tr0->Variables[0].hashname,(char*)vcd_xyz);
何时我只使用zzzz 都会被打印出来。我做错了什么或者我应该怎么做才能以顺序方式分配hashname。