编程时,读入一行字符串(可包含空格,以换行符结尾)的方法总结:
1. char* gets(char* buff) :(包含于stdio.h)
示例: char tmp[200];
gets(tmp);
2. char* gets_s(cahr* buff, unsigned int_size);(其中_size是buff的大小,输入的字符不能大于_size,否则会报错)
示例:char tmp[200];
gets_s(tmp,200);
3.
istream &getline(istream &in,string &s, char delim ); 第一个参数打开的流,第二个参数保存读入的内容,第三个参数字段的分割副,默认是 '\n'。(包含于#include<string>)
示例: string s;
getline(cin, s, ‘n’);
istream &getline( char *buffer,streamsize num ); 用getline()读取字符到buffer中,buffer在代码中通常体现为一个字符数组,streamsize num是一次读入多少个字符, num - 1个字符已经读入, 当碰到一个换行标志, 碰到一个EOF时结束。
示例:char tmp[200];
cin.getine(tmp,200);
若输入的字符多于num-1,则只读取num-1,不会报错