首页 > 编程知识 正文

C char转string时候产生的乱码问题,跨域问题什么时候会产生

时间:2023-05-06 16:30:48 阅读:199129 作者:481

第一篇博客。

讲一个最近写C++拼写检查软件时遇到的问题。

当我需要从char类型(或者char*)转换到std::string类型时,

例如

int tempCharIndex = int('a')+alphaSeq;//计算char字符相应的数值,因为要算偏移量char temp = tempCharIndex;//赋值std::string tempStr = &temp;//转换为string类型tempStr的值为‘a    ’或者‘a烫烫烫烫’,有四个空格或者乱码

查询了一下原因,最终也没有完全搞懂,是因为char默认占用4个字节,string自动填充了。

也有说是因为char没有''作为字符串的边界。

最终我加上了一条

tempStr = tempStr.at(0); 

也算是投机取巧了吧。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。