C++中char数组转为string时的一个问题

[复制链接]
查看11 | 回复2 | 2013-3-5 16:55:31 | 显示全部楼层 |阅读模式
因为c语言中字符串的末尾规定是0,这个规定影响所有字符串函数和所有跟字符串有关的函数。stringstr = chData;这样写是调用了string的构造函数,这个构造函数也当然遵守这个规定,当它在内部遍历这个字符数组的时候,遇到0了就当做遇到末尾了,就不继续读了,所以后面的两个0就没转换出来。‘\0’和0x00是等价的,就是数字0,前者是八进制字符的写法,后者是16进制数字的写法。你说的str的内容是2 ,15 ,85,5是怎么来的,应该不是这几个数字。...
回复

使用道具 举报

千问 | 2013-3-5 16:55:31 | 显示全部楼层
c风格的字符串中0x00表示休止符。是不会打印的 ...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行