我將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