C_C++

(C언어) 줄번호를 붙여서 파일 내용 출력

고니자니 2022. 11. 12. 19:40
반응형

#파일읽기 #fopen #줄번호 #행번호 #라인넘버 #라인번호 #type

 

파일 내용 앞에 줄 번호를 붙여서 파일 내용을 보여주는 C언어 프로그램을 만들었습니다.

 

#define _CRT_SECURE_NO_WARNINGS  // Visual Studio
#include <stdio.h>
#include <string.h>
#define BUFFERSIZE 1000

int main()
{
    FILE* fp;
    char line[BUFFERSIZE];
    char filename[] = "c:\\temp\\Professional.xml";
    int n = 0;
    
    if ((fp = fopen(filename, "r")) == NULL)
    {
        printf("File read error...\n");
        return -1;
    }

    while (!feof(fp))
    {
        fgets(line, BUFFERSIZE, fp);

        if (line[strlen(line) - 1] == '\n')
            n++;

        printf("%3d: %s", n, line);
    }

    fclose(fp);
    return 0;
}

예제 파일

Professional.xml
0.03MB

 

 

 

명령행에서 실행하기 위해 코드를 수정했습니다.

mytype.c

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#define BUFFERSIZE 1000

int main(int argc, char *argv[])
{
    FILE* fp;
    char line[BUFFERSIZE];
    char filename[255];
    int n = 0;
    
    if (argc != 2)                               // argc: 명령행 인수 개수
    {
        printf("Usage: mytype filename");
        return -1;
    }

    if ((fp = fopen(argv[1], "r")) == NULL)       // --> argv[1]
    {
        printf("File open error...\n");
        return -1;
    }

    while (!feof(fp))
    {
        fgets(line, BUFFERSIZE, fp);

        if (line[strlen(line) - 1] == '\n')
            n++;

        printf("%3d: %s", n, line);
    }

    fclose(fp);
    return 0;
}

 

 

 

반응형