C++ 字符串和数字拼接

本文探讨了两种在C++中实现字符串与数字拼接的方法,包括使用stringstream和直接转换等技巧,详细解释了每种方法的实现过程和注意事项。

方法一: 

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
    int a = 2;
    string b = "abc";
    stringstream ss;
    ss << a << b;
    cout << ss.str() << endl;
    return 0;
}

方法二:

#include <iostream>
using namespace std;
int main()
{
  int a = 6;
  char b[10];
  sprintf_s(b, "abc%d", a);
  cout << b << endl;
  system("pause");
  return 0;
}

C++中,字符串带参数拼接有多种实现方法: ### 使用`std::string`的`+`运算符 可以直接使用`+`运算符将多个字符串参数拼接在一起。示例代码如下: ```cpp #include <iostream> #include <string> int main() { std::string s1 = "Hello "; std::string s2 = "World"; int num = 2024; std::string result = s1 + s2 + " in " + std::to_string(num); std::cout << result << std::endl; return 0; } ``` 此方法简单直观,适合拼接少量字符串参数的场景。 ### 使用`std::string`的`append`方法 `append`方法可以将另一个字符串或子字符串添加到原字符串的末尾。示例代码如下: ```cpp #include <iostream> #include <string> int main() { std::string s1 = "Hello "; std::string s2 = "World"; int num = 2024; s1.append(s2); s1.append(" in "); s1.append(std::to_string(num)); std::cout << s1 << std::endl; return 0; } ``` 该方法可以链式调用,适合逐步拼接字符串的场景。 ### 使用`std::ostringstream` `std::ostringstream`可以像使用`std::cout`一样将不同类型的数据插入到流中,最后通过`str()`方法获取拼接后的字符串。示例代码如下: ```cpp #include <iostream> #include <sstream> #include <string> int main() { std::string s1 = "Hello "; std::string s2 = "World"; int num = 2024; std::ostringstream oss; oss << s1 << s2 << " in " << num; std::string result = oss.str(); std::cout << result << std::endl; return 0; } ``` 此方法可以方便地处理不同类型的数据,不需要手动进行类型转换。 ### 使用`fmt`库 `fmt`库是一个现代化的格式化库,提供了简洁的语法进行字符串格式化拼接。示例代码如下: ```cpp #include <iostream> #include <fmt/format.h> int main() { std::string s1 = "Hello "; std::string s2 = "World"; int num = 2024; std::string result = fmt::format("{}{} in {}", s1, s2, num); std::cout << result << std::endl; return 0; } ``` 该库性能较好,语法类似于Python的`format`方法,使用起来非常方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吉特哈布

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值