c++读取数据
1、cin
(1)输入数字
遇到空格、回车、tab结束返回引用。
#include <iostream> using namespace std; main () { int a,b; cin>>a>>b; cout<<a+b<<endl; }
(2)读字符串
遇“空格”、“TAB”、“回车”都结束
#include <iostream> using namespace std; main () { char a[20]; cin>>a; cout<<a<<endl; }
输入:jkljkljkl
输出:jkljkljkl
输入:jkljkl jkljkl //遇空格结束
输出:jkljkl
2、cin.get (char *str, int maxnum)
(1)读取一个字符
#include <iostream> using namespace std; main () { char ch; ch=cin.get(); //或者cin.get(ch); cout<<ch<<endl; }
输入:jljkljkl
输出:j
(2)字符数组
cin.get(char *str, int maxnum+1)
可以读取空格,遇到换行符结束,同时\n仍留在流中,再次读取时第一个就是\n,所以一般在接一个cin.get(无参数),来舍弃掉\n。这样再使用get函数,第一个字符就是下一行的第一个字符了。
#include <iostream> using namespace std; main () { char a[20]; cin.get(a,20); //读的字符放入到a中,读20-1=19个字符,并在a末尾添加\0 cout<<a<<endl; } 输入:jkl jkl jkl 输出:jkl jkl jkl 输入:abcdeabcdeabcdeabcdeabcde (输入25个字符) 输出:abcdeabcdeabcdeabcd (接收19个字符+1个'\0')
3、cin.getline (char *str, int maxnum)(也可以使用string类变量)
接受字符串,遇到回车结束,并同时丢弃掉换行符。
用法与get相同,接受空格并输出
4、getline
#include <string>
要定义变量为string类型
getline(cin,str);