我看了一些其他有关getline()无法运行的问题,但是有关该主题的大多数问题是由于程序员不包括字符串头而引起的。我已经包含了字符串标题,但是getline仍然给我错误E0304(我已经研究过)。
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
char input[100];
getline(cin, input);
cout << input << endl;
}
答案 0 :(得分:0)
非成员getline
仅适用于std::string
。对C样式的字符串使用std::istream
成员函数getline
:
std::cin.getline(input, sizeof(input));
答案 1 :(得分:0)
getline
有两种形式:
std::cin.getline(array, size); // reads into raw character array
getline(std::cin, string); // reads into std::string
您应该使用std::string
而不是原始字符数组:
#include <iostream>
#include <string>
#include <sstream>
int main()
{
std::string input;
getline(std::cin, input);
std::cout << input << "\n";
}