c++以来,我一直基本上就用string。但string只可以用在cin与cout,而且cin、cout读入较慢,文件较大时不被推荐使用,学长也是这么认为的。但可能是母语是pascal的缘故,string用起来、看起来更顺眼些。 string、char都读不进空格,但可以用getline与getchar,都在stdio.h中。getline(cin,string a,char b);意思是把字符串a读入到出现字符b为止(不包括b),但cin处必须为输入流,a处不可以用char数组,b不输入时,程序默认为'\n'。而getchar();有int返回值(为其ascll码),参数为空。
一般来说,我用a.length(),输出字符串的现实长度,且其无头文件。
<string>库中有几个实用的string型的:
string a.substr(int x,int y)返回从x开始的y个字符的字符串
string a.replace(int x,int y,string/char b/b[100])删除从x开始的y个字符,并原地插入b字符串。a会改变。
string a.insert(int x,string/char b/b[100])在a的x处插入b字符串
string a.erase(int x,int y)删除a从x开始的y个字符
<string.h>的都是char型的,但没看到几个很实用的,strlen(char a[])功能与length()相近,暂时找得很头疼,不如联赛后再说.