C_C++

C++, 명령행(command line) 사용해서 텍스트 파일 출력하기

고니자니 2024. 11. 25. 13:08
반응형

C++에서 명령행 인자를 사용하여 텍스트 파일을 출력하는 방법을 살펴보겠습니다. 기본적인 예제 코드를 통해 이해하기 쉽게 설명하겠습니다.

1. 프로그램 개요

  • 사용자는 프로그램 실행 시 파일 이름을 명령행 인자로 전달합니다.
  • 프로그램은 해당 파일을 열어 내용을 출력합니다.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main(int argc, char* argv[]) {
    // 명령행 인자가 부족한 경우 오류 메시지 출력
    if (argc != 2) {
        cerr << "Usage: " << argv[0] << " <file_name>" << endl;
        return 1; // 오류 코드 반환
    }

    // 명령행 인자로부터 파일 이름을 가져옴
    string fileName = argv[1];

    // 파일 열기
    ifstream inputFile(fileName);
    if (!inputFile) {
        cerr << "Error: Unable to open file '" << fileName << "'" << endl;
        return 1;
    }

    // 파일 내용 출력
    string line;
    while (getline(inputFile, line)) {
        cout << line << endl;
    }

    // 파일 닫기
    inputFile.close();

    return 0; // 정상 종료
}

3. 코드 설명

  1. 명령행 인자 처리:
    • argc: 명령행 인자의 개수를 나타냅니다.
    • argv: 명령행 인자를 문자열로 저장한 배열입니다.
    • argv[0]: 실행 파일의 이름이고, argv[1]에 파일 이름이 전달됩니다.
  2. 파일 열기 및 확인:
    • std::ifstream 객체를 사용하여 파일을 엽니다.
    • 파일 열기에 실패하면 오류 메시지를 출력하고 프로그램을 종료합니다.
  3. 파일 읽기:
    • std::getline() 함수로 한 줄씩 파일 내용을 읽어 표준 출력(std::cout)에 출력합니다.

 

주의 사항

  • 파일 이름에 공백이 포함된 경우, 따옴표로 묶어야 합니다.

C++, 명령행(command line) 사용해서 텍스트 파일 출력하기

반응형