首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

gets解决思路

2012-03-19 
gets学C++没多久,刚看了一遍书和视频教程,看例题的时候被这几个函数弄的很迷糊,不知道怎么用才算准确cin.g

gets
学C++没多久,刚看了一遍书和视频教程,看例题的时候被这几个函数弄的很迷糊,不知道怎么用才算准确
cin.get() //输入一个字符
getline() //输入一个字符串
cin.getline() //和getline()不一样?
getchar() //输入一个字符
gets() //也是输入一个字符串?
其他

网上也搜了不少,但是要么例子太复杂,没看懂,要么说的不全面(这样的输入函数貌似很多的样子。。呵呵,我被弄糊涂了)

能用一些简单的例子给我说一下就好了^_^谢谢啦!


[解决办法]
先占个沙发
[解决办法]
char ch;
ch=cin.get();//从终端接受一个字符,C++里面的

char c;
c=getchar();//从终端接受一个字符,C里面的,不过C++ 可以兼容的,只要在其中包括#include<cstdio>

const int m=20;
char str[m];
gets(str)//从终端接受一串字符存储到字符数组str里面

char buffer[20];
cin.getline(buffer, 5);//从终端接受5个字符存储到buffer中,切记:最后一个字符是'\0'
cout<<buffer<<endl; //输出,但此时'\0'被去掉了,这点你应该知道吧('\0'是字符串结束的标志)。

还有一个,我会尽力帮你解决的。



[解决办法]
cin.get() //输入一个字符 
getline() //输入一个字符串 
cin.getline() //和getline()不一样? 
getchar() //输入一个字符 
gets() //也是输入一个字符串? 
其他 

我也是初学,建议你看看C++PRIMER PLUS(5TH)的第四章,我正学到这里.这书很好,就是错误有点多,目前我正在一边学一边用adobe acrobat编辑指出错误点,还有添加标签和答案.
 
对数组:
cin 遇到空格或者回车接收结束.
cin.get(字符变量名)可以用来接收字符.
cin.get(字符数组名,接收字符数目)用来接收一行字符串,遇到空格不结束,不处理回车.
cin.get(无参数)没有参数主要是用于舍弃输入流中的不需要的字符,或者舍弃回车,弥补cin.get(字符数组名,接收字符数目)的不足.
cin.getline(字符数组名,接收字符数目)接收字符串到数组,遇到空格结束并且舍弃输入流中的回车,也舍弃输入流中输入数组放不下的多余部分.
对string类:
getline(cin,string名).这里的getline不是cin的成员函数cin.getline().所以用法就不一样了.

getchar(无参数)和gets(数组名)是C的风格不是C++风格,getchar()用来接收一个字符然后用赋值语句赋给char变量,gets()用来接收一行字符串(遇到空格不结束)

热点排行