char * 和string互转,陷阱:char*中包含较多的'\0'

版权声明: https://blog.csdn.net/b876144622/article/details/79972498
一般来说,char *和string能够比较容易的进行相互转换,
比如char *转换成string,可以直接转,如下:


-Cpp 代码
1
char *a = "abcdefg";
2
std::string b = a;


相对的,string转char *也是比较容易的,如下:




-Cpp 代码
查看代码
1
std::string s = "abcdefg";
2
s.c_str();


但在用的过程中,碰到过一个问题,利用char *读一个二进制文件,因为文件中不全是明文字符,可能有各种各样的字符,导致,有较多的‘\0',那么char *转string的时候,就少了部分字节。


解决:一个字节一个字节转。
阅读更多

扫码向博主提问

keep_forward

非学,无以致疑;非问,无以广识
去开通我的Chat快问
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页