c++转换char为string的几种方式

  1. 使用string构造函数
  • 构造函数 std::string(size_t n, char c);使用n个字符c初始化string对象。
char c = '1';

std::string s(1, c);
std::cout << s << std::endl;
  1. 使用stringstream
  • stringstream能够在string和其他数据类型之间进行转换。把待转换的字符插入stream,然后把其内容写入string。
char c = '1';

std::string s;
std::stringstream ss;

ss << c;
ss >> s;
// s = ss.str();

std::cout << s << std::endl;
  1. 使用string的push_back方法
  • push_back方法重载了对char的操作,把它附加到string的末尾。
char c = '1';

std::string s;
s.push_back(c);

std::cout << s << std::endl;
  1. 使用string的重载操作符+=
  • string& operator+= (char c);,如下:
char c = '1';

std::string s;
s += c;

std::cout << s << std::endl;
  1. 使用string的重载操作符=
  • string& operator= (char c);,如下:
char c = '1';

std::string s;
s = c;

std::cout << s << std::endl;
  1. 使用string的append方法
  • append方法把n个字符c放置在末尾:string& append (size_t n, char c);,如下:
char c = '1';

std::string s;
s.append(1, c);

std::cout << s << std::endl;
  1. 使用string的assign方法
  • assign方法使用n个字符c替换原来的值:string& assign (size_t n, char c);,如下:
char c = '1';

std::string s;
s.assign(1, c);

std::cout << s << std::endl;
  1. 使用string的insert方法
  • insert方法从位置pos开始插入n个字符c:string& insert (size_t pos, size_t n, char c);,如下:
char c = '1';

std::string s;
s.insert(0, 1, c);

std::cout << s << std::endl;
  1. 使用string的replace方法
  • replace方法使用n个字符c替换原string中pos开始的len个字符:string& replace (size_t pos, size_t len, size_t n, char c);,如下:
char c = '1';

std::string s;
s.replace(0, 1, 1, c);

std::cout << s << std::endl;
  1. 把字符转换为c-string,再转换为string
  • 如下:

char c = '1';
const char *str = &c;
std::string s(str, 1);

std::cout << s << std::endl;

选择适用的方法即可,也算是复习了string的使用。

参考资料:

10 ways to convert a char to a string in c++

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值