2014-10-14 2 views
-2

나는 26 개의 영문자를 암호화 할 수있는 프로그램을 설계했다.C++ 입출력에 관해

입력을 처리하는 방법은 다음과 같습니다. 나는 그것을 텍스트 파일에서 읽고 문자열에 저장합니다.

ifstream L; 
string str1; 
char ch; 
L.open("ToBeCoded.txt"); 
while(iL.get(ch)) 
    str1.push_back(ch); 

그러나 다른 파일을 읽고 싶다면 코드의 이름을 변경하여 작동시켜야합니다. 이렇게 동적 인 방법이 있습니까? 파일을 드래그하거나 런타임 중에 파일의 주소를 입력하는 것처럼?

그런데 txt를 문자열로 읽는 더 좋은 방법이 있습니까? 이것은 '느린 것 같다'.

+0

명령 줄 매개 변수? 문자열에 몇 개의 문자를 읽고 싶습니까? – crashmstr

+0

파일 이름을 명령 줄 인수로 전달할 수 있습니다. –

+1

http://stackoverflow.com/questions/2602013/read-whole-ascii-file-into-c-stdstring –

답변

1

난 당신이 이런 종류의 문제에 대한 getline을 사용하는 것이 좋습니다 것 IStream을의의 getline을 사용할 수 있습니다.
http://www.cplusplus.com/reference/string/string/getline/?kw=getline
getline은 문자열 사용자를 효율적으로 가져 오는 ifstream 함수입니다.
Read whole ASCII file into C++ std::string 하면 해당 작업을 수행하는 방법을 정확히 설명 :

하면, 전체 문자열 파일을 얻으려면, 닐 커크 게시 된 링크에 가고 싶어하면

.

+1

그는 전체 파일을 하나의 문자열로로드하려고한다고 생각합니다. –

+0

@NeilKirk 나는 그것을 추가했다. 내가 얻을 수있는 최고의 참고 자료는 당신 것이 었습니다. – Chantola

+0

그것은 문제가되지 않습니다. –