2013-04-11 2 views
1

저는 C++의 초보자입니다. Cygwin 및 일식 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 
. 

전체 정류장이 다음 행으로 이동 왜? 어떤 일이 일어 났는지 알려주고 해결 방법을 가르쳐 줄 수 있습니까? 당신이 기대대로 모두 문자열을 인쇄 4.6.3

getline (cin, mystr); 

getline (cin, mystr, '\n'); 

GCC에서

+4

'getline (cin, mystr, '\ n');을 사용하는 경우'Hello nick.' 결과 다음에'Hello nick.' 출력이 있습니다. gcc를 사용하고 있습니다 4.7 – OGH

+0

아마도 cygwin이 올바르지 않습니다. 라인 끝 변환을 수행합니다. – jamesdlin

+0

대신 MinGW를 사용해야합니까? – user2146963

답변

0

.

+0

getchar()을 사용하면 컴파일러에서이 동작을 피할 수 있습니다. – Sunny

+0

getline() 함수 다음에 getchar()을 작성하고 도움이되는지 확인하십시오. – Sunny

+0

그것은 내게 오류를 준다 ... – user2146963