반응형
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. 코드 설명
- 명령행 인자 처리:
- argc: 명령행 인자의 개수를 나타냅니다.
- argv: 명령행 인자를 문자열로 저장한 배열입니다.
- argv[0]: 실행 파일의 이름이고, argv[1]에 파일 이름이 전달됩니다.
- 파일 열기 및 확인:
- std::ifstream 객체를 사용하여 파일을 엽니다.
- 파일 열기에 실패하면 오류 메시지를 출력하고 프로그램을 종료합니다.
- 파일 읽기:
- std::getline() 함수로 한 줄씩 파일 내용을 읽어 표준 출력(std::cout)에 출력합니다.
주의 사항
- 파일 이름에 공백이 포함된 경우, 따옴표로 묶어야 합니다.
반응형
'C_C++' 카테고리의 다른 글
C++, 클래스 스택 구현하기 stack (0) | 2024.11.27 |
---|---|
C++, 스택 STL::stack 사용하기 (0) | 2024.11.26 |
C++, 10진수 8진수 16진수 출력 (0) | 2024.11.24 |
C++, 소수점 자릿수 지정, 오른쪽 정렬 줄맞추기 (0) | 2024.11.23 |
C++, setw 출력 폭 지정하기 (0) | 2024.11.22 |