여러분은 가만히 계세요 제가 모두 고장낼게요

IT 지식, PC 모바일 문제 해결 그리고 종종 애니 게임 일상생활 근황을 종종 올리고 있어요!

냐.한국 자세히보기

카테고리 없음

자신이 받은 매개변수(파라미터, 전달인자)를 로그로 출력하는 프로그램

Kamilake 2020. 6. 4. 10:33
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

실행되면 자신이 받은 매개 변수 옵션을 그대로 파일로 출력하는 프로그램을 만들어 봤습니다.

인터넷을 검색해봤지만 있을 법하면서도 없더라구요

최근에 어떤 소프트웨어 AA.exe 를 뜯어고치려고 했는데, 그 소프트웨어는 CLI로 되어있는 핵심 프로그램 AA_cli.exe의 GUI 역할만 하고 있더라구요.

실행할 때마다 AA_cli.exe에게 명령만 날리는거죠...

예를 들자면... AA.exe를 켜고 열기 눌러 파일을 고른다음 변환을 누르면 그냥 AA_cli.exe한테

AA_cli /file original.txt after.txt 

같은 명령만 날리도록 설계되어 있는 겁니다.

그럴 때 그 동작을 분석하기 위해 만들었습니다.

#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])      // 옵션의 개수와 옵션 문자열을 배열로 받음
{
    char filename[999];
    sprintf(filename,"%s_result.log",strrchr(argv[0], '\\')+1); //+1은 경로표시문자를 제거하기 위해 사용된다
    FILE* arg = fopen(filename, "w+");
    for (int i = 0; i < argc; i++)    // 옵션의 개수만큼 반복
    {
        printf("%s ", argv[i]);      // 옵션 문자열 출력
        fprintf(arg, "%s ", argv[i]);
    }
    return 0;
}

첨부된 exe파일을 사용하거나 위 파일을 사용하세요.

test.exe
0.03MB
main.cpp
0.00MB

명령줄이나 프로그램에서 main.exe /Hello World! 등을 실행하면

바로 옆에 main.exe_result.log 만들어 main.exe /Hello World!가 기록될 것입니다.

이 정보가 유용하기를 바랍니다.