一,operator+= string重载字符
1,通过在当前值的末尾附加其他字符来扩展字符串:
字符串 (1)
string& operator+= (const string& str);
C-String (2)
string& operator+= (const char* s);
字符 (3)
string& operator+= (char c);
2,str:一个字符串对象,其值在末尾复制。
3,s:指向以 null 结尾的字符序列的指针。序列在字符串的末尾复制。
4,c:一个字符,追加到字符串的当前值。
5,举例
// string::operator+=
#include <iostream>
#include <string>
int main ()
{
std::string name ("John");
std::string family ("Smith");
name += " K. "; // c-string
name += family; // string
name += '\n'; // character
std::cout << name;
return 0;
}
输出:
John K. Smith
二,to_string
1,to_string 函数:将数字常量转换为字符串,返回值为转换完毕的字符串。
2,使用to_string需要头文件#include<string>
3,转换类型有如下:
string to_string (int val);//%d
string to_string (long val);//%ld
string to_string (long long val);//%lld
string to_string (unsigned val);//%u
string to_string (unsigned long val);//%lu
string to_string (unsigned long long val);//%llu
string to_string (float val);//%f
string to_string (double val);//%lf
string to_string (long double val);//%Lf
4,举例说明
#include <iostream>
#include <string>
using namespace std
int main ()
{
string pi = "pi is " + to_string(3.1415926);
string perfect = to_string(1+2+4+7+14) + " is a perfect number";
cout << pi << '\n';
cout << perfect << '\n';
return 0;
}
输出:
pi is 3.141593
28 is a perfect number
三,getline
1,getline与cin的区别
cin遇“空格”、“TAB”、“回车”就会结束,而getline可以接收空格并输出,但需要头文件#include<string>。
2,getline的使用格式
str="\n";
getline(cin,str);