본문 바로가기
Research & Studies/Programming

[C언어] fopen함수-txt파일 이름을 변수로 입력받아 열기.

by ITholic-sicm 2016. 12. 30.


 

안녕하세요! 




 오늘은 fopen함수를 이용하여 txt파일의 데이터를 읽어올때 txt파일 이름을 입력하여 받아오는 법에 대해서 이야기해보겠습니다. 기존의 fopen함수로 txt파일의 데이터 값을 읽어올 때는 아래와 같은 방법으로 데이터를 읽어왔습니다.




 fopen("example.txt","r") 




 그러나 이 방식은 읽어올 txt의 이름을 미리 정해두고 데이터를 읽어온다는것을 알 수 있습니다. 만약 필요에따라 코더가 원하는 txt파일을 불러와야 한다면 어떻게 해야 할까요? 저는 아래와 같은 방법을 사용했습니다.



 

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
 
#include "stdafx.h"
#include "string.h"
 
 
int main()
{
    
    char textfile[40];
    FILE *fp_file;
    char *s;
 
    printf(">>");
    gets_s(textfile,40);
 
    fp_file = fopen(textfile, "rb");
 
    if (fp_file == NULL)
    {
        printf("Cannot open the textfile.\n");
        return 1;
    }
    while (1)
    {
        s = fgets(textfilesizeof(textfile), fp_file);
        if (s == NULL)
            break;
        //printf("%s", txt);
    }
    fclose(fp_file);
 
    printf("%s"textfile);
    return 0;
}
 
 

cs





코드 리뷰



1. 먼저 txt파일 이름이 저장될 배열을 선언하고 FILE 포인터와 포인터 s를 선언합니다. 


2. gets_s 함수를 통해 배열 textfile에 불러올 txt파일 이름 입력


3. 파일포인터함수 fp_file을 통해 txt의 데이터값을 불러옴 이때 txt파일명은 textfile 배열이 됨


4. 포인터 s로 textfile의 값들을 읽어옴


위와 같은 방식으로 원하는 txt파일의 데이터 값을 읽어올 수 있게 되었습니다.




 

 

 

 


반응형

댓글