cin.get()总结

#include <iostream>
using namespace std;
int main()
{
    char ch;
    int i=0,j=0,k=0,l=0;
    cout<<"please input characters=";
    do
    {
        ch=cin.get();
        if((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z'))
            i++;//统计英文字母个数
        else if(ch==' ')
            j++;//统计数字字符个数
        else if(ch>='0'&&ch<='9')
            k++;//统计数字字符个数
        else
            l++;//统计其他字符个数
    }
    while(ch!='\n');
    cout<<"英文字母个数为"<<i<<"个"<<endl;
    cout<<"空格的个数为"<<j<<"个"<<endl;
    cout<<"数字的个数为"<<k<<"个"<<endl;
    cout<<"其他字符的个数为"<<l<<"个"<<endl;
    return 0;
}

 1.cin.getline()与他相比,比较粗一些
 举例:先定义字符数组 char a[20];
 然后 cin.getline(a,20);即把数组的内容
 读入进来。它通过换行符来确定行尾,但不保存
 换行符
 2.cin.get()则将换行符留在输入队列中
 举例:假设我们两次调用cin.get():
 cin.get(a,20);
 cin.get(b,20);
 如果不借助帮助,cin.get(b,20)无法读入,因为
 换行符留在了输入队列,第二次调用时读的第一个字符便是
 换行符,所以无法读入新的内容。那么,我们应该如何
 解决这类问题呢?
 同样的规则,借助不带参数的cin.get();在上例中的两句
 之间加入cin.get();用它吃掉换行符。

#include <iostream>
int main()
{
	using namespace std;
	char name[21];
	char club[21];
	cout << "your name" << endl;
	cin.get(name, 20).get();
	cout << "your favoiate club" << endl;
	cin.get(club, 20).get();
	cout << "hello," << name << endl;
	cout << "This is " << club << " for you!" << endl;
	cin.get();
	return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: `cin.get()` 是 C++ 的标准输入流中的一个函数,用于从标准输入设备(通常是键盘)读取一个字符。与 `cin` 不同的是,它会读取空格、制表符和换行符等空白字符,而不会将其视为输入结束。`cin.get()` 可以接受一个参数,表示从输入中读取的最大字符数,如果没有指定,则默认为 1。读取的字符会被存储在指定的字符变量中,如果没有指定,则默认存储在一个匿名字符变量中。`cin.get()` 函数的返回值为读取的字符,如果读取失败或到达输入流的末尾,则返回 EOF。 ### 回答2: `cin.get()`函数是C++中的输入流函数之一,用于从标准输入设备(通常是键盘)读取一个字符,并将其存储在变量中。与其他输入函数不同的是,`cin.get()`函数会读取输入中的换行符('\n')和空格等字符,因此它可以用于获取包含空格的字符串。 `cin.get()`函数的用法非常简单,只需要在函数后面加上一对圆括号即可。例如,`char ch = cin.get();`就表示从输入设备中读取一个字符,并将其存储在变量`ch`中。如果需要获取多个字符,可以使用循环语句来重复调用`cin.get()`函数。 需要注意的是,`cin.get()`函数不会自动忽略输入中的换行符和空格等字符,所以如果需要去除这些字符,可以使用`cin.ignore()`函数来清除输入缓冲区中的多余字符。 另外,`cin.get()`函数也可以接受参数,表示限制读取字符的个数。例如,`char str[100]; cin.get(str, 100);`表示从输入中读取最多100个字符,并将其存储在字符数组`str`中。如果输入中字符的个数超过了限制,多余的字符将留在输入缓冲区中。 总结来说,`cin.get()`函数是一个用于从标准输入设备读取字符的函数,可以获取包括空格在内的字符串。它的使用非常简单,但需要注意处理输入缓冲区中的多余字符。 ### 回答3: cin.get()函数是C++中用于从输入流中读取一个字符的函数。它是iostream库中的一个成员函数,可以用来读取来自键盘或者其他输入设备的字符。 cin.get()函数的基本用法是在括号中不传入任何参数。它会读取输入流中的下一个字符,并将其返回。我们可以将其赋值给一个字符变量,以便在后续的程序中使用。 需要注意的是,cin.get()函数读取的字符包括所有有效字符,即可见字符和空格字符,但不包括换行符。如果需要读取换行符,可以使用cin.get()函数的重载版本,传入一个参数,将换行符也包括在内。 另外,cin.get()函数还可以读取指定数量的字符。在括号中传入一个整数参数n,表示要读取的字符数量。cin.get()函数将读取n个字符,并将其存储到一个字符数组中。 需要注意的是,如果在输入流中没有足够的字符供cin.get()函数读取,则函数将等待用户输入足够的字符。也就是说,cin.get()函数会阻塞程序的执行,直到满足读取字符的条件。 总结起来,cin.get()函数是C++中用于从输入流中读取字符的函数。它可以读取单个字符或者指定数量的字符,并将其返回或者存储到字符数组中。但需要注意的是,在使用cin.get()函数时,要确保输入流中有足够的字符供其读取,否则将导致程序阻塞。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值