У меня проблема с getline()
,
Я пробовал много примеров и читал другие решения, но это не решило мою проблему. У меня еще есть информация 'getline: identifier not found'
,
я включен
<stdio.h> <tchar.h> <iostream> <conio.h> <stdlib.h> <fstream>
и до сих пор ничего.
#include "stdafx.h"
using namespace std;
int main(int argc, _TCHAR* argv[])
{
string line;
getline(cin, line);
cout << "You entered: " << line << endl;
}
Что мне нужно сделать сейчас? Я использую Win7 64bit, MSVS2013.
Привыкнуть просто чтение документации для языковых функций, которые вы используете.
Соотношение совершенно ясно, что std::getline
может найти в string
,
#include <string>
Это должно исправить это:
#include "stdafx.h"#include <iostream>
#include <string>
using namespace std;
int main(int argc, _TCHAR* argv[]){
string line;
getline(cin, line);
cout << "You entered: " << line << endl;
}
вам нужно использовать
#include "string"
Читать: http://en.cppreference.com/w/cpp/string/basic_string/getline
#include "stdafx.h"#include <iostream>
#include <string>
using namespace std;
int main(int argc, _TCHAR* argv[]){
string line;
/*To consume the whitespace or newline between the end of a token and the
beginning of the next line*/
// eat whitespace
getline(cin >> ws, line);
cout << "You entered: " << line << endl;
}
#include <string>
Кстати, в учебнике «Программирование С ++» Мурача ошибочно говорится, что getline () находится в заголовке iostream (стр. 71), что может привести к некоторой путанице.