2012-08-26 2 views
1

에서 stdin을 읽을 ++?C는 히어 닥

int main(char *argv[]) 
{ 
    string arg1=argv[1]; 
    string arg2=argv[2]; 

    string heredoc= ? 
} 

답변

1

: 같은

그래서 코드가 보일 것입니다. 그래서 당신은 사용할 수 있습니다 : 나는 '표준 : logic_error' 의 인스턴스를 던지는 후 호출 종료`지고있어

string str; 
while (getline(cin, str)) 
    cout << str << endl; 
+0

무엇() : basic_string는 :: _ S_construct NULL이 있기 때문에 이것은 아마도 – francoisrv

+0

@francoisrv을 valid'하지 main이 잘못 선언되었습니다. 그것은'int main (int argc, char * argv [])'이어야합니다. (다른 올바른 선언이 있지만) –

+0

@francoisrv 그건 이상합니다. 방금 시도 : -? – cnicutar

1

이 문서는 IO 리디렉션을 수행하는 또 다른 방법입니다. 쉘 명령은 기본적으로 프로그램의 stdinline1 줄을 넣고 line2 줄을 넣습니다. 히어 닥 그냥 stdin에 물건을 리디렉션

int main(int argc, char *argv[]) 
// notice that your main declaration isn't conforming to C++ standard. 
// it need additional argc parameter 
{ 
    string arg1=argv[1]; 
    string arg2=argv[2]; 

    string heredoc_string1, heredoc_string2; 
    getline(cin, heredoc_string1); 
    getline(cin, heredoc_string2); 
}