📜  getline cpp - C++ (1)

📅  最后修改于: 2023-12-03 15:30:53.979000             🧑  作者: Mango

getline(): C++中的输入函数

在C++中,getline()是一个常用的输入函数,用于读取一行输入流(如键盘或文件)中的数据。getline()函数可以从输入流中读取指定长度的字符,或者直到遇到换行符为止。下面是函数的定义:

istream& getline (istream& is, string& str, char delim);

其中,is是输入流对象;str是读取数据的字符串对象;delim是一个可选的参数,用于指定停止读取的定界符,默认值为'\n'。

例如,下面的代码将从键盘读取一行输入,并将其存储在名为input的字符串对象中:

#include <iostream>
#include <string>

using namespace std;

int main() {
   string input;
   getline(cin, input);
   cout << "输入的内容为:" << input << endl;
   return 0;
}

如果要从文件中读取数据,可以指定输入流对象为文件流对象,例如:

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main() {
   string line;
   ifstream myfile("example.txt");
   if(myfile.is_open()) {
      while(getline(myfile, line)) {
         cout << line << '\n';
      }
      myfile.close();
   }
   else cout << "无法打开文件" << endl; 
   return 0;
}

这段代码将从名为example.txt的文件中逐行读取内容,并将每行内容打印到控制台上。

需要注意的是,在使用getline()函数时,必须先#include头文件,否则编译器会提示未定义getline()函数的错误。此外,如果读取的输入流中包含空格,将会导致默认的定界符'\n'失效,此时必须指定delim参数,例如:

getline(cin, input, '|'); // 读取键盘输入,以"|"作为定界符

总之,getline()函数是一个非常常用的输入函数,在C++编程中具有广泛的应用。