w6910502的专栏

今天在自己写一个字符串分割的时候,用到了strtok,字符串本身如下:8093/web/get_char;?playerid=427512252&playername=yujiah

经过strtok处理后发现变成了这个个样子,如下:8093/web/get_char\000?playerid=427512252&playername=yujiah.

也就是说字符串在进行处理的时候把;这个字符转化成了\000这个字符串 ,所以实际上破坏了原来的字符串。

~~~~~~~~~~~~~~~~~~~~~~没有看函数手册,函数手册明确写道会改变原始字符串。所以在字符串传入的时候,最好深度拷贝复制一个str,,而普通的std::string 只是简单的copy和引用计数。

实现发现这个样可以深度拷贝复制 string std::string str = 原始字符串.c_str()

人只要不失去方向,就不会失去自己

w6910502的专栏

相关文章:

你感兴趣的文章:

标签云: