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
函式時,應該確保有足夠的空間來存儲讀取的行,否則可能會導致緩衝區溢出。