string 和 char *的一点笔记

来源:互联网 发布:中国农业大数据库 编辑:程序博客网 时间:2024/06/06 09:45

string——substr(int index1,int index2),取string子串。c_str,const,不可修改,这将非常不方便。

 

String——的适配器。声明:string::iterator it;it =s.begin(); it = s.end();但输出只能用 cout << *it,输出当前it所指的字符,若需要输出整个string,则用for(it=s.begin(), it != s.end(); it++) cout << * it。若用cout << it 则会报错。

 

String 与 char*的转换。不能有 c =(char*) s,只能用strcpy(c, s.c_str() );但可以写s = (string)c(显示转换),或s = c(隐式转换)。可以用map <string, int> h; 来测试。

 

Sscanf 与 char*的结合。可以用char *p = s; sscanf(p, “%s”, to)。


map——可以直接赋值,也就是说,可以很方便的作为函数返回值返回,也可以通过引用修改实参的map。


Sscanf ——函数返回值,为读入的有效数据的个数。例如,“%d”,这么样则为1.类似于scanf。若为“%d%d”,则为2.

原创粉丝点击