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

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

使用string构造函数

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

char c = '1';

std::string s(1, c);

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

使用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;

使用string的push_back方法

push_back方法重载了对char的操作,把它附加到string的末尾。

char c = '1';

std::string s;

s.push_back(c);

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

使用string的重载操作符+=

string& operator+= (char c);,如下:

char c = '1';

std::string s;

s += c;

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

使用string的重载操作符=

string& operator= (char c);,如下:

char c = '1';

std::string s;

s = c;

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

使用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;

使用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;

使用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;

使用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;

把字符转换为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++

相关推荐