沒錯,所以我正在使用內存移動數據。我在這裏遇到麻煩。 我能做什麼錯?我已經解決了空終止符,它仍然不會輸出我期望的結果。內存操作 - 我做錯了什麼?
char buff[34] = "I will not do anything like that.";
char * protocol = "abcdefghi";
char data[44];
memcpy(data, protocol, 10);
memcpy(data + 9, buff, 34);
cout << data << endl; //abcdefghiI will not do anything like that.
cout << strlen(data) << endl; // 42
char poin[10];
memcpy(poin, data, 10);
cout << poin << endl; //abcdefghiI╠╠╠╠╠╠╠╠╠╠abcdefghiI will not do anything like that.
對於最後一個cout我期待只是abcdefghi,但它出來,你看到上面。 任何幫助表示讚賞,謝謝!
我不會推薦在C++中使用strcpy來複制字符串,但是使用memcpy來完成其他級別的C和Classes。我會建議一本好書:http://stackoverflow.com/q/388242/46642 –
順便說一句,答案就像「不,你沒有考慮到空終止符」 –