永发信息网

C++如何动态接收用户输入的字符串

答案:2  悬赏:70  手机版
解决时间 2021-03-24 03:13
C++如何动态接收用户输入的字符串
最佳答案
1、scanf("%c",a);//输入一个字符,a代表的是一个字符
2、scanf("%s",a);//输入一个字符串,a代表的是一个字符数组的名字,不接受空格的
3、getchar();//输入一个字符
4、gets(a);//输入一个字符串,a代表的是字符串的名字,可以接搜空格的!
c++中:
1、cin>>
输入数字:以空格或回车结束
输入字符或字符串:以空格、TAB、回车结束!
2、cin.get(字符变量名):用来接收字符
cin.get(字符数组名,接受字符数目),用来接收一个字符串,可以接受空格的
cin.get(无参数):没有参数主要是用于舍弃输入流中的不需要的字符或者舍弃回车弥补cin.get(字符数组名,接受字符数目),的空格的不足
3、cin.getline(字符数组名,接受字符数目):接受一个字符串
cin.getlne():其实可以有三个参数,最后一个参数是字符串的结束标志,当最后的参数省略时,默认是'\0'
4、getline():接受一个字符串,可以接受空格的,也可以有三个参数的
5、gets():接受一个字符串,可以接受空格的
6、getchar():接受一个字符即可
全部回答
这个涉及到动态数组的概念,比如用户在输入完字符串之后判断字符串的长度,
在对应的申请内存空间,这一过程是动态的,而不是事先申请很大的空间备用。
LZ可以搜一下动态数组的概念和实现,就明白了。
望采纳。追问我的意思是,比如先申请一个char custom_cin[20],然后把用户输入的字符串依次填入custom_cin,如果空间20够了,那就直接加'\0',如果用户输入的字符串超过19个了,造成所申请空间不够用,那么就再malloc空间。然后再看能否全部接受,如果不能则再malloc...追答这样的情况是不可以的,如果定义数组custom_cin[20]的话,那么在编译时就为其分配了固定大小的空间了,在程序运行过程中如果再申请内存的话,是没办法保证地址连续的你懂吧,而一个指针又无法指向两块地址(custom_cin[20]的指针),因此是实现不了的。

望采纳。追问我们可以定义重新定义一个数组,然后拼接两个字符串数组。
交个朋友吧。这样好学习。追答但是程序是在运行中的,已经是编译完成了的代码了。
而写代码的时候你怎么知道要定义多少个数组,它们分别是多长呢?
如果知道的话定义一个就好了,不用拼接了对么?
望采纳。

朋友是可以交,但是我水平有限提前说明。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
周长相等的圆形和椭圆形,哪个的面积大?
阅读短文我爱荷叶古人的诗文中赞美荷花的确不
PP被未授权调查,这个会咋样哦..
在西藏海拔2700米高处,早晨起来突然发现右脸
我在一个家具厂做了三年多,现在被厂里解雇·
龙康药房这个地址在什么地方,我要处理点事
淘宝上三千能买到正品浪琴吗?他说他是从瑞士
自由行去日本,东京进,到箱根,大阪出,请问
do you have monkeys?回答yes,i have.和yes,i
艾默生DataMate3000系列DME12MH2机型是上送风
鉴权什么意思,移动网路电视无法观看 显示鉴权
游民阿凡达中文汉化硬盘版如何激活 按NEXT,
电影《教父》中教父的姓是“克里奥尼”(又译
文萃路在哪里啊,我有事要去这个地方
关于无形资产入股的形式?
推荐资讯
从上海虹桥火车站到浙江省海盐澉浦怎样坐车
现代文阅读(27分)爸爸的花儿落了(节选)(
昌平汽车补漆最好在那个地方
事业单位新员工报到的路费可以报销吗?国家有
芜湖路在什么地方啊,我要过去处理事情
如何不显示Qtreewidget左边的减号和加号
EXO微电影讲什么
单选题我国政府高度重视少数民族地区的经济社
玉碗盛来琥珀光上一句是什么
黑道圣徒这个游戏,有那些乐趣,可以做什么,
姓一个山一个今念什么,左边一个黑右边一个今
我有一张50元的人民币,编号 JE774777777 有
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?