加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C ::将ASCII值转换为字符串

发布时间:2020-12-16 09:47:37 所属栏目:百科 来源:网络整理
导读:我试图将表示字符的ASCII值的int转换为单字符字符串. 我尝试了以下,它不起作用: string s1 =(char)97; 但是,只有当我像这样分开分配时,转换才有效: 字符串s1; ?s1 =(char)97; 我很困惑,任何人都可以解释这个区别吗? 提前致谢! 解决方法 I tried the foll
我试图将表示字符的ASCII值的int转换为单字符字符串.

我尝试了以下,它不起作用:
string s1 =(char)97;

但是,只有当我像这样分开分配时,转换才有效:
字符串s1;
?s1 =(char)97;

我很困惑,任何人都可以解释这个区别吗?

提前致谢!

解决方法

I tried the following,and it does not work: string s1=(char) 97;

那是因为std::string constructor没有任何需要单个字符的重载.而且,复制被省略,因此直接调用构造函数,永远不会调用operator =()(在复制省略上记录自己).

the conversion works only if I break the assignment apart like this: string s1; s1=(char) 97;

现在副本不再被删除,你真的在??调用std::string::operator =(),它确实有一个超载接受一个char.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读