C++中的 peek、get、getline

时间:2025-02-28 19:11:09
#include <iostream> 
using namespace std; 
main () 
{ 
    char m[20]; 
    (m,5); 
    cout<<m<<endl; 
}

输入:jkljkljkl 
输出:jklj

接受5个字符到m中,其中最后一个为'\0',所以只看到4个字符输出;

如果把5改成20: 
输入:jkljkljkl 
输出:jkljkljkl

输入:jklf fjlsjf fjsdklf 
输出:jklf fjlsjf fjsdklf

//延伸: 
//()实际上有三个参数,(接受字符串的看哦那间m,接受个数5,结束字符) 
//当第三个参数省略时,系统默认为'\0' 
//如果将例子中()改为(m,5,'a');当输入jlkjkljkl时输出jklj,输入jkaljkljkl时,输出jk


getline():
接受一个字符串,可以接收空格并输出,需包含“#include<string>”
#include<iostream> 
#include<string> 
using namespace std; 
main () 
{ 
   string str; 
   getline(cin,str); 
   cout<<str<<endl; 
}

输入:jkljkljkl 
输出:jkljkljkl

输入:jkl jfksldfj jklsjfl 
输出:jkl jfksldfj jklsjfl

和()类似,但是()属于istream流,而getline()属于string流,是不一样的两个函数