편집 : 다음 코드는 마이크로 소프트 비주얼 스튜디오를 통해 실행 2013INT 주() 문제
나는 다음과 같은 스크립트가 :
#include "stdafx.h"
#include <iostream>
#include <boost/filesystem.hpp>
using namespace boost::filesystem;
int main(int argc, char* argv[])
{
if (argc < 2)
{
std::cout << "Usage: tut1 path\n";
return 1;
}
std::cout << argv[1] << std::endl;
std::cout << "File Size is: " << file_size(argv[1]) << std::endl;
return 0;
}
을하지만 ctrl+f5
그것을 실행할 때, 나는 얻을 코드 자체의 경우 조건에 의해 예측이 메시지는 (:
Usage: tut1 path
는 인수의 수보다 낮은 2
것 같다왜 이런 일이 발생합니까? 이 문제를 어떻게 피할 수 있습니까?
편집 : 나는 다음 줄을 제거하면
:
std::cout << "File Size is: " << file_size(argv[1]) << std::endl;
내가 argv[0]
값을 의미 내 콘솔에 인쇄 된 "Filing.cpp"를 얻을를 Filing.cpp 더 쇼이다 argv
은 프로젝트 디버거의 명령 인수에서 명령을 올바르게 가져옵니다. 내가 다시 라인을 추가 할 때
는하지만, 메시지 가장 쉬운 해결책은 컴파일 된 출력의 디렉토리에 프롬프트를 열고 프로그램을 호출하고 파일 이름의 문자열을 전달하는 것입니다 "Filing.exe not found or not built by the last incremental link;"
아마도 IDE에서 실행 중일 것입니다. 어떤 IDE입니까? –
업데이트 된 질문보기 –
@MikeSeymour :'#include "stdafx.h"는 자명하다 :-) –