char[] 转换string时的自动截断问题
程序员文章站
2022-03-12 18:29:58
在char[] 转换string时可以直接转换,但当用char[]读取一个二进制文件之后,若char[] 中包含有'\0'时,在转换时会被string检测到并认为字符串末尾,后面内容会被截断,导致转换后字符不全。 解决办法:以循环的方式一个字节一个字节的转换。 string d; for(size_ ......
在char[] 转换string时可以直接转换,但当用char[]读取一个二进制文件之后,若char[] 中包含有'\0'时,在转换时会被string检测到并认为字符串末尾,后面内容会被截断,导致转换后字符不全。
解决办法:以循环的方式一个字节一个字节的转换。
string d;
for(size_t i = 0; i < len;i++){
char temp = data[i];
d += temp;
}