프로그래밍

 3198, 1/160 회원가입  로그인  
   joseph942010
   c언어 도와주세요 ㅠ(프로그램 줄번호 출력하기 프로그램?)

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=6428 [복사]


c언어를 책으로 독학중인데요,

책 초반에 실전프로젝트1 "프로그램 줄 번호 출력하기" 라는 파트가 있어요..

책에 나온 그대로 코드를 쳐서 빌드하기 하면 성공해서 실행 파일도 만들어지고 하는데

어떻게 실행하는 건지 잘 모르겠어요 ㅠㅠ


소스파일 이름: print_it.c

일단 코드를 올릴께요

/* print_it.c - 이 프로그램은 소스 리스트에 줄 번호를 추가하여 출력한다! */
#include <stdio.h>
#include <stdlib.h>

void do_heading(char*filename);

int line, page;

main ( int argv, char*argc[])
{
        char buffer [256];
        FILE *fp;

        if (argv<2)
        {
                fprintf(stderr, "\nProper Usage is: ");
                fprintf(stderr, "\n\nPRINT_IT filename.ext\n");
                exit(1);
        }

        if ((fp=fopen (argc [1], "r" )) ==NULL )
        {
                fprintf(stderr, "Error opening file, %s!", argc[1]);
                exit(1);
        }

        page = 0;
        line =1;
        do_heading (argc [1]);
        while( fgets (buffer, 256, fp) !=NULL)
        {
                if (line % 55 == 0)
                        do_heading(argc[1]);

                fprintf(stdout, "%4d:\t%s", line++, buffer);
        }

        fprintf(stdout, "\f");
        fclose(fp);
        return 0;

}

void do_heading(char *filename)
{
        page++;

        if ( page>1)
                fprintf(stdout, "\f");

        fprintf( stdout, "Page: %d, %s\n\n", page, filename );
}


책에 나온 설명
[ 이 프로그램은 print_it.exe이라는 실행 파일을 생성하고 'print_it filename.ext'의 형식으로 실행된다.
여기서 filename.ext는 줄 번호를 넣고자 하는 소스 파일의 이름이다. 이 프로그램은 원래의 소스 파일에
줄 번호를 추가해 준다.]

이 프로그램을 어떤 식으로 작동시키는건지 잘 모르겠습니다...
아직 거의 코드 따라 치면서 조금씩 배우는 수준이라서...
보통의 소스코드를 빌드하고 실행시키려면 생성된 .exe 파일을 실행하면 됐는데 이건 잘 모르겠어요...
도와주시면 감사하겠습니다(꾸벅)

  Hit : 5862     Date : 2014/01/23 10:02



    
avtree Main()이부분에서 괄호 안에를 보시면 argv와 argc가 있잖아요
이 프로그램은 argv와 argc를 이용하는 프로그램인데 이 argv를 이용하려면 그냥 win7,win8상에서 exe파일을 더블클릭하면 이용할수있는게 아니라
Dos나 cmd창을 이용해서 실행해야지만 이용할수 있습니다.
그래서 밑에 프로그램 설명에 print_it.exe를 이용하려면 print_it filename.exe형식을 써야한다는 뜻이
Cmd창에서 print_it.exe라고 치면 그냥 이 프로그램이 실행되는것이고,
Print_it filename.exe라 치면 argv[1]에 filename이라는 값이 들어가고 프로그램이 실행됩니



----------요약
그냥 gui상 windows말고
Cmd에서 이 프로그램을 실행시켜야 한다
왜 그런지는 위에 적어놓았습니다.
2014/01/23  
joseph942010 답변 감사해요 ㅎㅎ 다시해보겠습니다! ㅎ 2014/01/30