我有以下代码。有人可以告诉我它是否有问题。
unsigned char str2[80];
memset(str2, 0x00, 15+hashLength);
int offset=0;
memcpy(str2+offset, " \"md\" : \"", 14);
offset += 14;
memcpy(str2+offset, hash, hashLength);
offset += hashLength;
memcpy(str2+offset, "\"", 1);
offset += 1;
str2[offset] = '\0';
printf("\n\nstr2 : [%s]\n\n", str2);
输出看起来像这样:
str2 : [ "md" : "ËFÇDÈ5A <90>^N^^ax^L^XÔ01 <8b>"]
第一个和最后一个memcpy工作正常。从另一个阵列复制的那个是有问题的那个。
哈希的内容是:
cb46c744c83541a0900e1e61780c18d43031a08b
哈希定义为:
unsigned char hash[64];
预期输出为(忽略[]):
[ "md" : "cb46c744c83541a0900e1e61780c18d43031a08b"]