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);

猜你喜欢

转载自www.cnblogs.com/pacino12134/p/11298081.html