C++getline什么意思

在C++編程中,getline是一個函式,它用於從輸入流中讀取一行文本。這個函式通常在std::string或者std::istream(如std::cin)的上下文中使用。

以下是getline函式的基本用法:

#include <iostream>
#include <string>

int main() {
    std::string line;
    std::cin >> line; // 從標準輸入讀取一行
    std::cout << "You entered: " << line << std::endl;
    return 0;
}

在上面的例子中,std::cin >> line;從標準輸入(通常是鍵盤)讀取一行文本,並將其存儲在std::string變數line中。然後,std::cout將這行文本輸出到標準輸出(通常是螢幕)。

getline函式的原型通常如下所示:

std::string getline(std::istream& input);

這個函式從std::istream對象中讀取一行文本,直到換行符(通常是\n)或者EOF(End Of File,檔案結束標誌)為止。它將讀取的文本存儲在std::string對象中並返回。

如果你使用的是C++11或更新的版本,你還可以使用以下重載版本:

std::string getline(std::istream& input, std::string& str);

這個版本將字元串直接存儲在傳遞給函式的std::string對象中,而不是返回一個新的std::string對象。

需要注意的是,getline函式與std::cin的提取運算符(>>)不同,後者唯讀取一個單詞,直到遇到空格、制表符或換行符為止。getline函式則讀取一整行,包括空格和換行符。

在使用getline函式時,應該確保有足夠的空間來存儲讀取的行,否則可能會導致緩衝區溢出。