getline用法

hal9000

贡献于2011-11-16

字数:2940 关键词: C/C++开发

getline功能   getline是string类对象的成员函数,属于string IO 操作。用于读取整行文本 getline参数   getline(cin,str);   cin:输入流   str:string对象 getline说明   getline函数从输入流的下一行读取,并保存读取的内容到str中,但不包括换行符。getline 函数将 istream 参数作为返回值,和输入操作符一样也把它用作判断条件。    范例:   #include   #include   using namespace std;   int main()   {   string line;   while(getline(cin,line))   cout< include #include using namespace std; //输出空行 void OutPutAnEmptyLine() {      cout<<"\n"; } //读取方式: 逐词读取, 词之间用空格区分 //read data from the file, Word By Word //when used in this manner, we'll get space-delimited bits of text from the file //but all of the whitespace that separated words (including newlines) was lost. void ReadDataFromFileWBW() {      ifstream fin("data.txt");       string s;       while( fin >> s )     {              cout << "Read from file: " << s << endl;        } } //读取方式: 逐行读取, 将行读入字符数组, 行之间用回车换行区分 //If we were interested in preserving whitespace, //we could read the file in Line-By-Line using the I/O getline() function. void ReadDataFromFileLBLIntoCharArray() {      ifstream fin("data.txt");     const int LINE_LENGTH = 100;     char str[LINE_LENGTH];       while( fin.getline(str,LINE_LENGTH) )     {              cout << "Read from file: " << str << endl;      } } //读取方式: 逐行读取, 将行读入字符串, 行之间用回车换行区分 //If you want to avoid reading into character arrays, //you can use the C++ string getline() function to read lines into strings void ReadDataFromFileLBLIntoString() {      ifstream fin("data.txt");       string s;       while( getline(fin,s) )     {              cout << "Read from file: " << s << endl;      } } //带错误检测的读取方式 //Simply evaluating an I/O object in a boolean context will return false //if any errors have occurred void ReadDataWithErrChecking() {     string filename = "dataFUNNY.txt";        ifstream fin( filename.c_str());       if( !fin )     {             cout << "Error opening " << filename << " for input" << endl;             exit(-1);        } } int main() {      ReadDataFromFileWBW(); //逐词读入字符串      OutPutAnEmptyLine(); //输出空行      ReadDataFromFileLBLIntoCharArray(); //逐词读入字符数组      OutPutAnEmptyLine(); //输出空行      ReadDataFromFileLBLIntoString(); //逐词读入字符串      OutPutAnEmptyLine(); //输出空行      ReadDataWithErrChecking(); //带检测的读取     return 0; } 输出结果为: Read from file: Fry: Read from file: One Read from file: Jillion Read from file: dollars. Read from file: [Everyone Read from file: gasps.] Read from file: Auctioneer: Read from file: Sir, Read from file: that's Read from file: not Read from file: a Read from file: number. Read from file: 数据读取, Read from file: 测试 Read from file: 。 Read from file: Fry: One Jillion dollars. Read from file: [Everyone gasps.] Read from file: Auctioneer: Sir, that's not a number. Read from file: 数据读取, 测试 。 Read from file: Fry: One Jillion dollars. Read from file: [Everyone gasps.] Read from file: Auctioneer: Sir, that's not a number. Read from file: 数据读取, 测试 。 Error opening dataFUNNY.txt for input Press any key to continue

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享文档获得金币 ]
0 人已下载

下载文档

相关文档