我将char*
复制到char*
并将其取回,并将其取回cout
它。为什么控制台在memcpy之后出现了一些错误的字母*
char buffer[100] = { 0 };
char* name = "foo";
int bar = 12345;
memcpy(buffer, &(bar), 4);
memcpy(buffer + 4, name, 3);
int result = 0;
memcpy(&result, buffer, 4);
char backname[3];
memcpy(backname, buffer + 4, 3);
std::cout << result << std::endl;
std::cout << backname << std::endl;
它为什么会显示此:
12345
foo╠╠╠╠╠╠╠╠╠90
但strcmp(backname,"foo")
确实让我知道它们是否匹配?
编辑:
是,它让我知道,正确的值是'backname'it里面只是显示一些错误否则我不会问这样的问题。 – BennX 2015-02-10 18:15:09