C++之cin探究

在这里插入图片描述

博文转载自微信公众号(CPP开发者)文章:C++ cin 的详细用法
相关博文:C++之get、getline探究

1.cin简介

在这里插入图片描述

2. cin 的常用读取方法

  使用 cin 从标准输入读取数据时,通常用到的方法有 cin>>、cin.get(),cin.getline()。

2.1 cin>> 的用法

  cin 可以连续从键盘读取想要的数据,以空格、tab 或换行作为分隔符。实例如下:
例1
在这里插入图片描述
在这里插入图片描述
附例1代码

#include <iostream>
using namespace std;

int main()
{
    
    
    char a;
    int b;
    float c;
    cin>>a>>b>>c;
    cout<<a<<" "<<b<<" "<<c<<" "<<endl;
    return 0;
}

在这里插入图片描述
例2
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
附例2代码

#include <string>
#include <iostream>
using namespace std;

int main() {
    
    
  char a;
  int b;
  float c;
  string str;
  cin>>a>>b>>c>>str;
  cout<<a<<" "<<b<<" "<<c<<" "<<str<<endl;

  string test;
  getline(cin,test);  //不阻塞
  cout<<"test:"<<test<<endl;
  return 0;
}

2.2 cin.get() 的用法

在这里插入图片描述

2.2.1 cin.get() 读取一个字符

例3
在这里插入图片描述
在这里插入图片描述
附例3代码

#include <iostream>
using namespace std;

int main() {
    
    
  char a;
  char b;
  a=cin.get();
  cin.get(b);
  cout << "a=" << a <<"b="<< b <<endl;
  return 0;
}

2.2.2 cin.get() 读取一行

在这里插入图片描述
例4
在这里插入图片描述
在这里插入图片描述
附例4代码

#include <iostream>
using namespace std;

int main() 
{
    
    
  char b;
  char array[20]={
    
    NULL}; 
  cin.get(array,20);
  cin.get(b);
  cout<<array<<" "<<(int)b<<endl;
  return 0;
}

2.3 cin.getline() 读取一行

在这里插入图片描述
例5
在这里插入图片描述
注意,cin.getline() 与 cin.get() 的区别是,cin.getline() 不会将行结束符(如换行符)残留在输入缓冲区中。
附例5代码

#include <iostream>
using namespace std;

int main() {
    
    
  char array[20]={
    
    NULL};
  cin.getline(array,20); //或者指定结束符,使用下面一行
  //cin.getline(array,20,'\n');
  cout<<array<<endl;
  return 0;
}

3. cin 的条件状态

在这里插入图片描述
在这里插入图片描述

4. cin 清空输入缓冲区

在这里插入图片描述
在这里插入图片描述

5.从标准输入读取一行字符串的其它方法

5.1 getline() 读取一行

在这里插入图片描述
例6
在这里插入图片描述
在这里插入图片描述
附例6代码

#include <string>
#include <iostream>
using namespace std;

int main()
{
    
    
  string str;
  getline(cin,str);
  cout << str << endl;
  return 0;
}

5.1 getline() 读取一行

在这里插入图片描述
例7
在这里插入图片描述
附例7代码

#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
    
    
  char array[20]={
    
    NULL};
  gets(array);
  cout << array << endl;
  return 0;
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43297891/article/details/114698301