欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

char[] 转换string时的自动截断问题

程序员文章站 2022-06-22 20:50:00
在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;
}