将字符串函数复制到非const字符缓冲区
copy string function to non const char buffer
我试图将字符串复制到缓冲区以供进一步处理。我使用了
指令char *buf = line.c_str();
但是buf
类型应该是const char*
,然而如果我要使用
const char *buf = line.c_str();
我将面临另一个问题,因为我使用strtok_s
函数来处理buf
。这个函数期望char *
参数。而不是const char*
。是否有另一种功能或方法将这行复制到char *
?
一种方法是使用标准库容器,如std::vector
或c++ 14的std::dynarray
:
std::vector<char> v(line.begin(), line.end());
请记住,这复制了line
的字符,没有null终止