Я новичок в C++. Я использую Cygwin и eclipse в окне 7, и я пытаюсь написать программу, чтобы попросить пользователя ввести строку и просто распечатать ее. У меня есть код ниже.C++ getline (cin, str) дает мне дополнительную строку
#include <iostream>
#include <string>
using namespace std;
int main() {
string mystr;
cout << "What's your name? ";
getline (cin, mystr, '\n');
cout << "Hello " << mystr << ".\n";
return 0;
}
Я также попробовать:
getline(cin, mystr);
Они оба дали мне из положить, как показано ниже.
выход:
What's your name? nick
Hello nick
.
Почему полная остановка переходит к следующей строке? Может кто-то сказать, что случилось, и научить меня, как это исправить.
Я просто пробовал это сам, и я получил вывод 'Hello nick.', за которым следует новая строка, если используется' getline (cin, mystr, '\ n'); 'Я использую gcc 4.7 – OGH
Возможно, cygwin не правильно делая конверсии окончания строки. – jamesdlin
вместо этого следует использовать MinGW? – user2146963