string类型

来源:互联网 发布:windows 2012装snmp 编辑:程序博客网 时间:2024/05/29 18:34

#include <string>

using std::string;


初始化

string s5 = “hiya”; //拷贝初始化

string s6("hiya"); //直接初始化


读写

string对象会自动忽略开头和结尾的空白(即空格符,换行符,制表符)。

例如,输入“  Hello    ”,输出将是“Hello”。


用getline读取一整行(待定。。。测试有点问题)

若要保留输入时的空白符,则要用getline函数代替>>运算符。

getline(输入流,string对象),从输入流中读入,直到遇到换行符为止,将结果存入string对象(不存换行符)。如果输入一开始就是换行符,则结果为空string。

int main(){    string line;    while (getline(cin, line))        cout << line << endl;    return 0;}

str.empty() 判断str是否为空
str.size() 返回str的长度。实际上,size()返回的时string::size_type类型,这是个无符号类型,而且能够存放下任何string对象的大小。C++11中,可以用auto或者decltype来接收这种类型
auto len = line.size(); //len的类型是string::size_type
注意这里的无符号特性,如果n是个负int,则s.size() < n将始终是true。所以:如果一个表达式中有size(),就不要使用int型变量。

string相加,s = s1 + s2
注意:加号两边至少有一个是string对象,例如s = “Hello” + “,”是错误的,因为C++中的字符串字面值并不是string对象。



0 0
原创粉丝点击