C++仍然有基本的字符数组,同时又有string这种数据类型(C++串,不是STL),前者大小固定,后者可以不固定。
1. 作为友元函数的getline(istream, str)
比如论坛上常见的:
string Str;
getline(cin,Str);//从键盘读入一行到C++串Str
其实还有:
ifstream infile("abc.txt");
getline(infile,Str);//从文件abc.txt中读入一行到C++串Str
看上去平淡无奇,其实大有用处,因为……
2. 作为类成员函数的cin.getline(char [], size, 结束符), infile.getline(char[], size, 结束符)
这里的函数参数必须是字符数组,而不是string型
为了赋值给一个string,如果只用类成员函数getline的话,就难免绕:先赋值给一个字符数组,再把字符数组赋值给一个string……而前面提到的getline(infile, Str)可以一步到位。