此代碼產生26 * 26 * 26 * 26 hasname(使用az的組合),或者您可以說我想分配給結構成員的隨機名稱。現在,當我通過首先分配該結構成員足夠的內存然後使用strcpy,只有由此代碼生成的最後一個哈希名正在傳遞給結構,即zzzz(它是最後一個哈希名)。我可以做什麼以便從起始位置分配哈希名。如何在C++中生成一組唯一的哈希字符串?
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得到printed.what我做錯了或我應該怎麼做,以便順序分配散列名。
對不起,但...什麼? – LihO
請寫出您是否需要C或C++解決方案,相應地移除其中一個標籤並編寫您正在使用的編譯器。 – LihO
@LihO:或者會工作..因爲我正在g ++編譯 – shailendra