1.想使用c++的标准库string,首先需要包含相关头文件
#include <string>
(注:是string而不是string.h,后者是C++头文件)
2.string对象定义和初始化
string str1 = "abcd";
string str2 = str1 ; //str2(str1)也可
string str3(5,'c'); // 5个字符c
3.string对象读写
<pre name="code" class="cpp">string str;
cout<<"输入字符串为:";
cin>>str;
cout<<"输出字符串为:"<<str<<endl;
注意:读取并忽略开头所有空白字符
读取字符直至再次遇到空白字符
忽略开头的换行字符
4. 用getline读取整行文本
getline函数接受两个参数:输入流对象(cin),string对象。作用是把输入流对象读入到string对象中。如果成功则返回读取字节数,如果失败则返回-1。
<span style="font-family: Arial, Helvetica, sans-serif;">string str;
getline(cin,str);
cout<<"输出为:"<<str<<endl;</span>
注意:getline并不忽略开头空白字符
getling只要遇到换行符(回车),即便是第一个字符,getline也将停止读入并返回。如果第一个字符就是换行符,则字符串为空。
5.string的size操作
string str = "abcde";
cout<<str<<"字符个数为"<<str.size()<<endl;
注:size()返回值为string::size_type类型值。
6.string的find操作
string pShort = "hello";
string pLong = "hello word";
string::size_type found = pLong.find(pShort);
if( found == string::npos)
cout<<pShort<<"不存在于"<<pLong<<"中"<<endl;
else
cout<<pLong<<"的第"<<found<<"个开始是"<<pShort<<endl;
(注意:find()返回值类型为string::size_type,如果不存在返回string::npos,存在则返回出现的位置)