A. Red and Black 杭电(hdu)ACM 1312 Red and Black - 梦想天空 - CSDN博客
C.Meteor ShowerPOJ3669 Meteor Shower(BFS) - 要多努力,才走得到远方 - CSDN博客
cstring和string区别与联系
string、string.h和cstring的区别是很大的。string.h是c语言的库,用于处理char *类型的字符串。string和cstring是c++标准库的东西,位于std名字空间。string是c++标准库中的一个类,它实际上是basic_string模版类实例化产生的。cstring兼容了过去string.h的函数,但是采用了c++的写法。最后CString和cstring还有区别前者是mfc中的一个类。
string、string.h、cstring三者的区别与联系 - yiyi_xuechen - 博客园
<string>是C++特化的字符容器,内含string类。
<string.h>是标准C提供的字符处理函数集。面向char *.
<cstring>是C++为兼容C提供的<string.h>的C++版本,里面的主要改进应该是有:将一些隐藏变量编入命名空间;修正一些C++编译器认为Bug的代码。其余没发现很多改变。
C++中string
string是C++标准库的一个重要的部分,主要用于字符串处理。可以使用输入输出流方式直接进行操作,也可以通过文件等手段进行操作。同时C++的算法库对string也有着很好的支持,而且string还和c语言的字符串之间有着良好的接口。虽然也有一些弊端,但是瑕不掩瑜。
其中使用的代码多数都是来自cpp官网,因为例子非常全。
C++ string的用法和例子 - @fei - CSDN博客
3. length()函数
语法
size_type length();
例如:string str="abcd";
cout<<str.length(); //length()函数返回字符串的长度. 这个数字应该和size()返回的数字相同.
4. size()函数
size_type size();
cstring
CString常用函数用法 - RitMan的博客 - CSDN博客
cin和scanf区别联系
使用scanf函数进行输入,必须指定输入的数据的类型和格式,不仅繁琐复杂,而且很容易出错。C++保留scanf只是为了和C兼容,以便过去用C语言写的程序可以在C++的环境下运行。C++的编程人员都愿意使用cin进行输入,很少使用scanf。
cin的实时性较差,因为它使用了缓冲区,一般情况下满了才刷新的。
对于字符:cin的输入忽略空格和回车。scanf("%c",&i)等价于i = getchar(),换行符和回车都会被读入。
但是scanf有一个明显的优点,速度比cin函数快
各种从键盘输入字符/串的函数及头文件
C++中输入字符串的几种方法 - u011486738的博客 - CSDN博客
getline() // 接受一个字符串,可以接收空格并输出,需包含“#include<string>”
gets()// 接受一个字符串,可以接收空格并输出,需包含“#include<string>
getchar()//接受一个字符,需包含“#include<string>
C语言字符串输入 - merry1996的博客 - CSDN博客
【C】scanf、gets、getchar的基本使用 - Stella的博客 - CSDN博客
scanf()是在C语言中最常用的输入函数,它需要我们严格按照要求进行输入,除非你用对scanf()使用了正则表达式;对于scanf(),当它遇到空格、回车、或者Tab键时,都会自动停止输入,剩下的内容逗留在缓冲区中,所以如果需要输入字符串,不推荐使用它。
gets()主要用来接收字符串,可以接收空格,遇到’\n’时结束,但不接收’\n’,把 ‘\n’留存输入缓冲区;把接收的一串字符存储在形式参数指针指向的空间,并在最后自动添加一个’\0’。
相对于scanf(),我觉得gets()的使用更加的简单,当你需要输入那个字符串的时候,就直接gets(str)就可以了。
getchar()主要用来接收单个字符,不管是空格或者回车都可以接收
可以用作特别字符作为结束的时候进行判断。
例如: (c=getchar())!=’\n’ 则表示遇到回车的时候结束接收字符。