string库与char[]

      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()相近,暂时找得很头疼,不如联赛后再说.     

原文地址:https://www.cnblogs.com/HJWJBSR/p/4049156.html