2009-10-18 4 views
16

C++의 cin에서 현재 위치부터 줄 바꿈 문자까지 문자열에서 읽으 려합니다. 읽을 문자에는 공백이 포함될 수 있습니다. 그것은 최초의 우주에 정지하기 때문에 내 첫 번째 패스는 실패개행 문자까지 공백을 사용하여 cin을 읽는 방법?

string result; 

cin >> result; 

CIN가 주어진다면 :

(cd /my/dir; doSometing)\n 

변수 결과 만 가져옵니다

(cd 

는 내가해야한다고 생각 것 이 작업을 수행하기 위해 스트림 조작기를 사용할 수 있지만 skipws는 공백과 탭을 사용하여 캐리지 리턴을 던질 수 있다는 점에서 옳지 않았습니다. 더하기 공백 문자를 건너 뛰기위한 것입니다.

아마도 이처럼 streambuf를 사용해야합니까? (난 그냥 이것에 의해 불에있어 이후)

streambuf buf; 

cin >> buf; 

답변

21
std::string str; 
std::getline(std::cin, str); 
+3

주 : AIX 5.1에서 작동 표시되지 않습니다. stdio.h에 정의 된'fgets'을 사용해야했습니다. – Pete

관련 문제