和string相关的使用小细节

在使用string类之前,必须包含头文件“string”这自然不用多说。但是还有一些小细节需要注意,那就是注意头文件是“string”而不是“cstring”。在写头文件时,如果我们写成了“cstring”,系统并不会提示我们出错,而且可以正常使用string类来命名一个string类的变量。这是最可怕的,容易让很多人误导。

但是,如果我们写成了“cstring”,就不能使用“>>”的重载函数来从键盘输入string类的字符串了。如图所示:

和string相关的使用小细节_第1张图片

会带来很大的麻烦。

本人使用的是VS2015,不同的开发软件可能会稍有不同。

包含了正确的头文件,就可以使用>>来输入string字符串,直接从键盘输入,很简单。

如图所示:

和string相关的使用小细节_第2张图片

这时我们可以输入试一下

和string相关的使用小细节_第3张图片

这样的输入输出会很方便,并且不用像字符数组那样定义数组大小,不受字符个数限制。

另外,刚学完C语言的人可能会觉得字符串的比较函数是strcmp,其实在string里面并不是,而是

string s1,s2;

s1.compare(s2);

函数的返回值和C语言一样,当然string的其它函数也有所不同,比如连接字符串用string直接把两个字符串加起来即可,具体其它函数请查阅本人转载的博文。

和string相关的使用小细节_第4张图片

最后要提醒大家的是,string类并不等同于char数组。char数组就可以用strcmp函数,而string不能使用。但是,虽然string不能使用strcmp函数,char数组却可以用string的比较函数compara。

和string相关的使用小细节_第5张图片

你只要记住,string不能碰strcmp用来比较就可以了。还有其它的strcpy复制函数也是如此。


你可能感兴趣的:(C++)