0

저는 C++을 처음 사용하고 Visual Studio를 사용하여 학습하고 있습니다. 명령 줄에서 텍스트를 읽고 텍스트를 여는 작은 프로그램을 만들고 싶습니다. 내 프로그램이 다음과 같이 시작해야한다는 것을 알고 있습니다.명령 줄 인수로 파일

int main (int argc, char *argv[]){ 

    ifstream File(argv[1]) 

그러나 Visual Studio 명령 프롬프트에서 실행하는 방법에 대해 혼란 스럽습니다. 나는이 같은 질문이 많다는 것을 알고 있지만, 나는 아직도 내가 찾던 것을 발견하지 못했다. 나는 당신이 속성에 가야만하고, 디버그하고 커맨드 라인 인자를 변경해야한다는 것을 읽었지 만, 거기에 정확히 무엇을 넣어야합니까? VS 명령 프롬프트에 무엇을 입력해야합니까?

감사합니다. 우선 들어

답변

1

, 코드는 그렇게하지 시작해야합니다 std::ifstream::ifstreamargv[1] 전달 전에 오류 메시지 그렇지 않으면 인수 및 출력이 있는지 확인해야합니다. 그대로, 에 NULL 포인터를 전달하여 결국 ifstream의 생성자가 생성되어 결국 에 프로그램 충돌이 발생합니다.

실행 방법 : 실행 파일은 어디에 두었습니까? Visual Studio 명령 프롬프트 창에 있고 이 cl으로 호출 된 경우 기본적으로 실행 파일은 로컬 디렉터리에 있어야합니다. 을 입력하십시오. 여기서 name은 프로그램의 이름이 인 것입니다. IDE에서 컴파일 한 경우 명령 창에서 을 사용하여 을 실행 파일이 생성 된 위치 (여기에서 속성에서 을 찾을 수 있음)로 이동 한 다음 위와 같이 호출해야합니다. 경로를 완전히 지정하면됩니다. c:\Users\me\whereeverIPutTheThing\name.

디버거를 사용하여 디버거를 사용하려면 다음을 지정해야합니다. 1) 실행 파일의 이름 (기본값은 좋음), 2) 전달할 매개 변수 (원하는 것 argv[1] —에 공백이있는 경우 따옴표를 잊어 버리지 말고 ) 및 3) 실행 파일을 실행해야하는 디렉토리를 참조하십시오. 두 번째와 세 번째는 다소 상호 의존적입니다. 예를 들어 의 경우 파일 이름을 2로 지정하고 파일이있는 경로를 3으로 지정하거나 전체 경로를 으로 지정하여 파일 이름을 2로 지정할 수 있습니다. 3을 잊어 버리십시오. 또는 의 조합을 사용하십시오. 실제로는 프로젝트의 루트 디렉토리에서 모든 작업을 수행하는 경향이 있으므로이 디렉토리에 상대적인 경로를 지정한 다음 내 프로젝트의 경로를 지정해야합니다. (이 ..\..\.., 우리가 설정 한 것을 가지고하는 방법,하지만 나는 당신이 다소 짧은 찾을 생각합니다.)이 루트 3의 에 파일

2

을 메뉴 찾기에서 : 프로젝트 -> 소품 erties. 또는 솔루션 탐색기 트리에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택하십시오.

선택 이제 열린 대화 상자에서 왼쪽 창 : 구성 속성 ->는 제목 라인을 찾아 오른쪽 창 그리드 그런 다음 디버깅

:

입력 파일 이름으로 채우기 (내가 생각하는 명령 인수를 더블 쿼터와 경로 사용에 공백이있는 경우 당신은 더 나은, 전체 경로 거기 넣어 같이 :.

공간이 없으면 :

filepathwithoutspace.txt 

또는 공백이있는 경우 :

"file path with spaces.txt" 

행운을 빕니다.

관련 문제