2019-07-06

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 - 博客园

、和用法区别总结 - 北方的雪之博客专栏 - CSDN博客

是C++特化的字符容器,内含string类。

是标准C提供的字符处理函数集。面向char *.

是C++为兼容C提供的的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<

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

gets()// 接受一个字符串,可以接收空格并输出,需包含“#include

getchar()//接受一个字符,需包含“#include

C语言字符串输入 - merry1996的博客 - CSDN博客

scanf和get()



【C】scanf、gets、getchar的基本使用 - Stella的博客 - CSDN博客

scanf()是在C语言中最常用的输入函数,它需要我们严格按照要求进行输入,除非你用对scanf()使用了正则表达式;对于scanf(),当它遇到空格、回车、或者Tab键时,都会自动停止输入,剩下的内容逗留在缓冲区中,所以如果需要输入字符串,不推荐使用它。

gets()主要用来接收字符串,可以接收空格,遇到’\n’时结束,但不接收’\n’,把 ‘\n’留存输入缓冲区;把接收的一串字符存储在形式参数指针指向的空间,并在最后自动添加一个’\0’。
相对于scanf(),我觉得gets()的使用更加的简单,当你需要输入那个字符串的时候,就直接gets(str)就可以了。

getchar()主要用来接收单个字符,不管是空格或者回车都可以接收 

可以用作特别字符作为结束的时候进行判断。 

例如: (c=getchar())!=’\n’ 则表示遇到回车的时候结束接收字符。

你可能感兴趣的:(2019-07-06)