[MFC] C++ 파일 라인 수 읽는 방법

[MFC] 파일 라인 수 읽는 방법

 


이번 포스팅에서는 MFC 프로젝트에서 로컬 경로에 저장되어 있는 파일을 찾아서 해당 파일의 라인 수를 읽는 방법에 대해서 알아보도록 하겠습니다.

 

오늘 테스트할 txt 파일의 내용은 아래와 같습니다.





다른 파일을 임의로 만들어도 상관은 없습니다. 저는 위 파일이 있길래 그냥 저 파일을 읽기로 한 것입니다.^^



그러면 첫 번째로, 대화상자 기반으로 MFC 프로젝트를 생성하여 주시고 폼 가운데에 Button 컨트롤 하나를 배치하여 주시기 바랍니다.



위와 같이 Button 컨트롤을 배치 완료하셨다면 이제 해당 버튼을 더블클릭 해 주시고, 클릭 이벤트 함수 안에 아래와 같이 코드를 작성하여 주시기 바랍니다.


test.cpp


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

//파일 라인  읽기

void CtestDlg::OnBnClickedButton()

{

    // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.

 

    CString readfilename = _T("C:\\범범조조\\Config.ini");   //읽을 파일의 경로를 설정

    int lineCount = 0//해당 파일의 라인 수를 저장할 변수 선언

 

    FILE* fp = NULL;   //파일 객체 fp 선언

    fopen_s(&fp, readfilename, "r");  //파일을 열어 준다

 

    if(fp == NULL)     //해당 파일의 경로 또는 이름이 잘못 되어 파일 객체의 값이 NULL 경우

    {

        return;

    }

 

    char szContent[2048= {0,};

    memset(szContent, NULL2048);

 

    BOOL bContinue = FALSE;

 

    while(fgets(szContent, 2048, fp))   //파일을  줄씩 읽는다.

    {

        CString strContent;

        strContent.Format("%s", szContent);

        memset(szContent, NULL2048);

 

        lineCount++;   //파일 라인 증가

    }

 

    CString LineCount = _T("");

    LineCount.Format("%d", lineCount); 

 

    AfxMessageBox(LineCount); //해당 라인  출력

    

     fclose(fp);

}

 

Colored by Color Scripter

cs

   

코드 설명은 각 코드 옆에 주석으로 설명을 해 놓았기 때문에 따로 하지는 않겠습니다.


 

이렇게 위와 같이 코드를 작성하여 프로그램을 실행시켜 버튼을 클릭해 보면 해당 위치의 텍스트 파일을 읽어서 해당 파일의 라인 수를 출력해 주는 것을 확인하실 수 있습니다.


 

[실행 결과]



 

위와 같이 총 10개의 라인이 현재 텍스트 파일에 쓰여져 있는 것을 확인 하실 수 있습니다.

 

감사합니다.^^


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY