【C/C++基础】C++中 cin、cin.get()、cin.getline()、getline() 的区别 |
您所在的位置:网站首页 › cin在c语言中怎么用 › 【C/C++基础】C++中 cin、cin.get()、cin.getline()、getline() 的区别 |
文章目录
引入cin基本用法输入多个变量换行符存放在缓冲区中
cin.get()基本用法重载函数换行符残留在缓冲区中
cin.getline()基本使用重载函数换行符不会残留在缓冲区中
string 流中的 getline()总结用法总结几个输入实例输入格式输入格式输入格式输入格式
输出格式
写在最后
引入
在 ACM 模式的题目编程中,我们需要自己解决程序的输入与输出问题。我们自己解决程序的输入其实就是从键盘输入数据,然后将输入的数据传递我们定义的变量,其简要过程如下: 使用输入流 cin 或其他输入函数从键盘读取数据时,程序会向操作系统发出请求以获取输入,就是程序运行后终端(屏幕)上那个一闪一闪输入提示符;敲击键盘输入几个字符;当我们想要结束字符的输入时,按下回车键;操作系统将用户输入的数据一次性放入输入缓冲区中;C++ 程序通过 cin 或其他输入流来读取缓冲区中的数据。代码运行时需要的变量也许是一个字符,也许是一个整型数字,也许是一个带有空格的字符串等等,这些我们都可以通过键盘输入然后按下回车键放入输入缓冲区,但是不同的 输入流 或者 输入函数 从缓冲区读取的数据效果也是不同的。 如果想在以空格分隔的缓冲区数据中读取多个数据,我们应该使用什么样的 输入流 或者 输入函数 ?如果想在缓冲区中读取指定字符之前的数据,我们应该使用什么样的 输入流 或者 输入函数 ?如果想在缓冲区中按行读取数据,我们应该使用什么样的 输入流 或者 输入函数 ?如果,你可以轻松应对以上三个问题,那么厉害了,你已经基本掌握cpp中的常用的从标准输入流读取数据的操作了,也可以看看这篇博文回顾回顾嘛。如果对以上问题的答案还不太清楚,那么同学一定要好好看看这篇文章啊。 接下来就步入正题,看一下不同的 输入流 或者 输入函数 从缓冲区读取数据具有怎么样的不同效果。 cin 基本用法我们先来介绍 C++ 中最常用的一个标准输入流对象 cin。 我们常用 cin >> num 来从缓冲区中读取数据到 num 中,num 的变量类型可以是多种类型,最常用的有 int、string、char、double、float等等。 先看一个小例子: #include using namespace std; int main() { int n; cin >> n; cout char s1[100], s2[100], ch; cout s2; cout char str[100]; cin.getline(str, 100); cout int m, n; cin >> m >> n; vector grids(m, vector(n)); for (int i = 0; i cin >> grids[i][j]; } } /* 此段代码用来测试输入是否正确 for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { cout string str; vector strs; getline(cin, str); while (str != "END" ) { strs.push_back(str); getline(cin, str); } // for test for (auto str : strs) { cout // ct++; // cin >> a; // if (a == 250) // pos = ct; // } // while (cin.get() != '\n'); // cout ++cnt; cin >> a; if (a == 250) { pos = cnt; } } cout |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |