字符串操作

不同编程语言对字符串的默认支持程度不同,脚本语言倾向于让字符串操作更简单易懂,可以支持字符串和不同类型互操作。

字符串加法

  • C语言把字符串当指针,两个指针相加不允许。
  • C++不支持两个字符串相加
    • std::string s = “hello ” + “world”;
    • 但如果是字符串和整数相加,等同于指针加法,C/C++一样。
      • 例如”hello” + 1是字符串”ello”.
  • Java/C#均支持字符串相加,包括字符串 + <其他类型>(其他类型自动转换成字符串)。
  • Python支持两个字符串相加,但不允许字符串和整数相加。
  • PHP利用.和.=实现字符串拼接。

转换成字符串

此功能并非核心需求,早期编程语言一般不自带标准类型转换字符串功能。Java/Python/JS等语言很自然加入。

  • Java/C#/JS利用toString或ToString函数完成,Python函数名更精简: str().
  • C90 atoi可转换字符串到int整数(其他类型有不同API,比如atol, atoll, 名称不统一),C99引入itoa将int整数转换成字符串,但没有对其他数据类型的转换API,可利用sprintf完成,C++额外提供stringstream/ostringstream也可间接完成转换,C++11引入to_string(val)函数轻松完成,同时引入sto*反转为对应数据类型。
    • C++为了提高效率,避免各种对象复制拷贝,提供了低层次原地转换API: to_chars和from_chars.


微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

欢迎关注。助您在编程路上越走越好!

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值