C++输入不定长字符串


lean要做一个脚踏实地的人。

博客第一篇要从一个在大家看来low到爆的基础知识:C++输入不定长字符串写起。

昨天去华为面试,被坑了一小下,下面的两个方法,大家可以放心使用。

1.在头文件中添加<string>

string str ;

cin>>str;

此时的str不可包含空格,制表符等。因为cin这个函数的性质,遇到/t /s /n,它的栈就会弹出结束,str在最后加上\0。

 至于sezeof(str) 在linux下,输出的永远都是4 ,我想应该是str的(char*)类型的长度.如果想获取其长度,由于其

会自动在后面加上\0,因此可以使用for循环获得大小。当然,可以直接使用str[N]来得到N处的值。

2.

#define N 50

#define M 100

char str[M];

cin.getline(str,N);

N是限制字符串的长度。这样做的好处就是可以输入空格哦,但是遇到'\n'他就消停啦!这里的

sizeof(M)就是100.获取他有效长度也可以用方法1中的循环,当遇到str[i] == '\0'算为停止.

以上两个小例子希望能解决大家输入字符串的问题。

以后的代码我争取截图发上来,显得工整一些。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM