我有一个问题,使用memcpy_s
.
std::vector<char> MyBuf;
MyBuf.resize(10);
char* p = &MyBuf[0];
现在我想将 using 复制到using 指针memcpy_s
的数据中。vector
p
memcpy_s(XXXXX, 10, "BOBBO", 5);
我需要输入什么而不是XXXXX
?
当使用&p[0]
而不是XXXXX
我得到一个内存异常。
&MyBuf[0];
,MyBuf.data()
而是使用。p
.改为使用std::copy
。它更快更安全。
const char* str = "BOBBO";
std::copy(str, str + sizeof(str), MyBuf.begin());
如果MyBuf.data()
您有 C++11 标准库,则用作目标指针。使用&MyBuf[0]
应该可以,但不必要地难看。