简记:cin=键盘,cout=屏幕。
>>和<<指向代表数据流动方向。<<是流插入运算符,右操作数(运算符右边的值)会被插入到输出流中。
首先要包含:#include <iostream>
using std::cin;
using std::cout;
using std::endl;
流操作元std::endl输出一个换行符,然后“刷新输出缓冲”。
而字符串中的\n是转义序列,使光标移动到下一行开始处。
cin>>a;//把键盘的数据放到变量a里。
cout<<"hello\n";//字符串数据流动到屏幕。
cin只能读入单个单词,其中间不能有空格。
getline可以读入一条语句,可以包含空格,遇到回车终止。
string nameOfCouese;
getline(cin,nameOfCourse);
函数调用getline();从标准输入流对象cin(即键盘)连续读取字符(包括空格符),直到遇到换行符为止。
读取的这些字符放入string类型的变量nameOfCourse中并丢弃换行符。
其中,在键入程序输入过程中按下回车时,会在输入流中插入一个换行符。
需要注意!使用getline要包含头文件string。
#include <string>
using std::string;
using std::getline;
getline同样属于命名空间std。
C++中本质上有两种getline函数,一种在头文件<istream>中,是istream类的成员函数。一种在头文件<string>中,是普通函数。
-
在<istream>中的getline函数有两种重载形式:
istream& getline (char* s, streamsize n );
istream& getline (char* s, streamsize n, char delim );
作用是从istream中读取至多n个字符保存在s对应的数组中。即使还没读够n个字符,如果遇到换行符'\n'(第一种形式)或delim(第二种形式),则读取终止,'\n'或delim都不会被保存进s对应的数组中。
-
在<string>中的getline函数有四种重载形式:
istream& getline (istream& is, string& str, char delim);
istream& getline (istream&& is, string& str, char delim);
istream& getline (istream& is, string& str);istream& getline (istream&& is, string& str);
用法和上一种类似,不过要读取的istream是作为参数is传进函数的。读取的字符串保存在string类型的str中。
【转载自】
C++中,getline函数的详解_百度知道 https://zhidao.baidu.com/question/377613227.html
getline不是C库函数,而是gcc的扩展定义或者C++库函数。它会生成一个包含一串从输入流读入的字符的字符串,直到以下情况发生会导致生成的此字符串结束。
1)到文件结束,2)遇到函数的定界符,3)输入达到最大限度。
C 有 fgets(), gets() 函数,gcc编译器扩展定义了getline()函数。
用于读取一行字符直到换行符,不读取换行符。
【转载自】
getline函数_百度百科 https://baike.baidu.com/item/getline%E5%87%BD%E6%95%B0/3932106?fr=aladdin