2009-11-29 6 views
4

나는 더 많은 것을 배우고 싶다. C++ ... 보통 for 루프를 만들어 argv를 파싱하고, C 스타일의 문자열을 묶는다. 나는 C++에서 비슷한 것을하고 싶지만,/proc/무엇이든간에 읽지 않는 것이 바람직하다. 처음에는 C 스타일의 문자열을 결과가없는 C++ 스타일의 문자열로 변환하려고 시도했습니다 ... 실망스러운 점은 SO의 모든 사람들이 다른 방법으로 이동하는 방법을 알고 싶어한다는 것입니다. c_str()은 . 이것을 수행하는 좋은 C++ 방법은 무엇입니까 (즉, argv를 파싱합니다)?argc와 argv를 C++로 파싱하기

또한, 한 주, 나는 유닉스 스타일의 답을 찾고 있어요, 내가 본 변환을위한 모든 기술은 내가 완전하게 uniterested있어 윈도우, 함께 할 수 있습니다.

+0

호기심 ...이 기사에서/proc을 읽어야한다는 아이디어를 얻었습니까? http://blog.linuxgamepublishing.com/2009/10/12/argv-and-argc-and-just-how-to-get-them/ –

+0

아니요, 저는 ... 15 문자 규칙을 싫어합니다. – devin

답변

22

나는이 질문을 완전히 이해하고 있는지 확신 할 수 없다.

std::vector<std::string> v(argv, argv + argc); 

하지만 당신이 정말로 데이터를 분석 할 수있는 방법을 찾고 있다면, Boost.ProgramOptions 체크 아웃 :

내가 배열을 사용하기 쉬운 모든 인수를 얻기 위해 알고있는 가장 깨끗한 방법이다.

+1

+1 부스트 프로그램 옵션이 멋집니다. 커맨드 라인 애플리케이션을 만드는 것이 훨씬 쉽습니다. – daramarak

2

데 문제가 있습니까을 argv를 문자열로 변환 하시겠습니까? 당신은 할 수 있습니다 : iargv에 유효한 인덱스가

string s(argv[i]); 

을 ....