c字符串与string对象
c字符串:
c字符串值和c字符串变量与其他数据类型的值和变量不一样,不能使用=复制操作符对c字符串变量赋值,也不可以用==来比较两个字符串变量是否相等。要实现这些操作可以采用库<cstring>的常用函数,在使用时文件开头加#include<cstring>(由于<cstring>库中函数的定义都在全局名字空间中,而不是std中,因此不需要using语句)
常用函数包括:
strcpy() strcat() strlen() strcmp()
string对象
要使用标准类string类,就要加入#include<string>
using namespace std;
string类的输入输出:string s1;
cin>>s1;
cout<<s1;
但要输入带空格的字符串则需要getline()如:string line;
getline(cin,line);
cont<<line;
与c字符串不同的事,string类可以使用= == 这些操作符,它常用的库函数有:
构造函数:String str; String str(“abc”); String str(abc);
元素获取:str[i] str.at[i] str.substr()
赋值/修改:str1=str2 str1+=str2 str.empty() str1+str2
str.insert() str.remove()
比较:str1==str2 str.find(str1) str.find(str1 pos) str.find_first_of() str.find_not_first_of()