我想做的是从缓冲区数组中读取字符
std::vector<char> SmartIO::PeekChar(){
int newlen= 0;
while(buffer[ptrSeek] != 0){
ptrSeek++;
newlen++;
}
std::vector<char> temp(newlen);
memcpy(temp.data(),&buffer[ptrSeek-newlen],newlen);
ptrSeek = 0;
return temp;
}
所以 temp.data()
例如 methodtest««««««««î
的返回而结果应该是 methodtest
仅有的!
那么是什么导致了这些奇怪的字符?
最佳答案
您的缓冲区/字符数组不是以 null 结尾的。
您必须知道缓冲区的长度,否则它必须以 null 终止。
关于c++ - char 数组末尾的奇怪字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8938886/