📅  最后修改于: 2023-12-03 15:30:53.990000             🧑  作者: Mango
在 C++ 中,getline
和 cin.getline
都是用于从输入流中读取字符串的函数。
getline
是 C++ 中 istream
类的成员函数,它可以从输入流中读取一行字符串,直到遇到换行符或者文件结束符(EOF)。
#include <iostream>
#include <string>
int main() {
std::string line;
std::getline(std::cin, line);
std::cout << "You entered: " << line << std::endl;
return 0;
}
上面的代码读取了一行输入,并将其存储在 line
变量中,然后输出该变量的值。
cin.getline
是 C++ 中 istream
类的另一个成员函数,它可以从输入流中读取一行字符串,但是和 getline
不同的是,cin.getline
需要指定读取的最大字符数,而且换行符不会被读取。
#include <iostream>
int main() {
char line[256];
std::cin.getline(line, 256);
std::cout << "You entered: " << line << std::endl;
return 0;
}
上面的代码使用了一个字符数组 line
来存储读取的字符串,cin.getline
函数读取了最多 255 个字符,然后将其存储在 line
数组中,并在其末尾添加了一个字符串结束符 \0
。最后,输出 line
数组中存储的字符串。
getline
和 cin.getline
是两个用于读取字符串的函数,功能类似但用法略有区别。根据情况选择使用哪一个函数,可以更加方便地读取输入流中的字符串。
附:本文的代码片段已按 markdown 标明。
#include <iostream>
#include <string>
int main() {
std::string line;
std::getline(std::cin, line);
std::cout << "You entered: " << line << std::endl;
return 0;
}
#include <iostream>
int main() {
char line[256];
std::cin.getline(line, 256);
std::cout << "You entered: " << line << std::endl;
return 0;
}