The difference between cin.getline(), getline(), gets(), cin.get(), getchar()


#include <iostream>
string str1;
char str2[100];
cin >> str1;
cin >> str2;//cin以空格和回车为结束符
 
char ch;
cin.get(ch);//用来接收一个字符
 
char str[20];
cin.get(str, 20);//接收一行字符串,可以接收空格
 
char str[20];
cin.getline(str, 20);//接收一行字符串,可以接收空格
cin.getline(str, 20, '#');//接收一行字符串,可以接收空格,判断直到遇到'#'为止
#include <string>
string s;
getline(cin, s);//接收一行字符串
//getline()和cin.getline()很类似,cin.getline()属于istream流,需要包含头文件<iostream>
//而getline()属于string流,需要包含头文件<string>,是不一样的两个函数
 
char str[20];
gets(str);//接收一行字符串到字符数组里面
//gets使用的时候编译器可能会产生警告:warning: this program uses gets(), which is unsafe.  所以建议使用cin.getline()
 
char ch;
ch = getchar();//不能写成getchar(ch);

Guess you like

Origin blog.csdn.net/qq_45812180/article/details/114532142