1.string
其支持长度可变的字符串,是一个标准的库,在使用时需要加#include<string>头文件,可用getline函数读取整行文本,亦可用cin读取一个以空白字符分割的字符串
(1)getline函数:接受两个参数,一个输入流对象和一个string对象;它从输入流的下一行读取,并保存读取的内容到string中,但不包括换行符;但是getline函数并不忽略行开头的换行符,所以在使用此函数时,如果前面还有输入,最好用getchar()函数将换行符(即回车,‘\n’)吃掉。其返回值是istream参数,使用如下:
int main()
{
string line;
while(getline(cin,line))
cout<<line<<endl;
return 0;
}
(2)对string对象进行比较,直接用==、>=、>、<、<=等即可
(3)s.size()返回字符串中字符的个数
(4)构造string对象的方法主要有以后几种等:
1). string s1;//s1是空串
2). string s2(5,'a');//s2=”aaaaa“
3). string s3(s2);//直接的赋值构造,使用一个计数器和一个字符初始化
4). string s4(s3.begin(),s3.end());//s4=''aaaaa',用一对迭代器初始化
5).string s(cp,n);//创建一个对象,它被初始化为cp所指向数组的前n个元素的副本
6).string s(s2,pos);//初始化为一个已经存在的string对象s2中从下标0开始到pos的字符副本
7).string s(s2,pos1,len);//初始化为s2中从下标pos1开始的len个字符副本
string 类型支持大多数顺序容器操作
2.C风格字符串char
(1)以双引号括起来的字符串序列是字符串常量。C++中所有的字符串常量都由编译器自动在末尾添加一个空字符串
"A":表示字母A和空字符(NULL)两个字符
(2)末尾添了'\0'的字符数组
(3)strlen()计算字符数组的字符数,以'\0'为结束标志,计算不为'\0'的数组元素的个数
(4)memcpy()函数
原型:void *memcpy(void *dest,const void* src,size_t n);从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中
(5)memset函数
void* memset(void *s,int ch,size_t n);//将s中前n个字节用ch替换并返回s.
'