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++

你可能感兴趣的:(cpp,c++,char,string,转换)