2017-11-04 10 views
-1

터미널과 C++을 사용하고 있습니다. 내 프로그램은 텍스트 파일을 열고 다양한 일을하고있다. 그러나, 결국 파일 이름을 출력하고 싶습니다. 어떻게해야합니까? 나는 argc이 특정 인수를 볼 것임을 알고 있지만, 여전히 인수의 번호 만 봅니다. 실제 string 이름이 필요합니다.콘솔에 파일의 실제 이름을 인쇄하는 방법 (C++)

+1

파일을 어떻게 열었습니까? 그 다음에 문자열이 있어야합니다. – bmargulies

+0

'main'에 전달 된'char ** argv'에 있습니다. – Robert

+0

론, 죄송합니다. 나는 분명하지 않다고 생각합니다. 예를 들어 test 및 .cpp라는 .cpp 파일이 있고 file.txt라는 텍스트 파일이 있습니다. 그러면'./test file.txt'를 입력하면'file.txt'가 출력됩니다. – daisygal

답변

0

는 (귀하의 경우에 file.txt 파일 이름 인수로서) 첫 번째 인수를 인쇄하려면 다음 코드를 사용합니다 ./test file.txt를 :

#include <iostream> 
int main(int argc, char* argv[]){ 
    if (argc > 1){ 
     std::cout << argv[1]; 
    } 
    else { 
     std::cout << "No arguments passed in."; 
    } 
} 

당신이를 통해 프로그램을 실행하는 경우를 콘솔 출력은 다음과 같습니다

file.txt를

그쪽을 유의하시기 바랍니다 t argv[0]은 텍스트 파일 (인수)의 이름이 아닌 ./test 인 실행 파일의 이름과 (호출하는) 경로를 출력합니다.