C언어

[C언어] input 파일이 많은 경우 파일 입출력 기본 형식

구코딩 2022. 9. 16. 13:20
반응형

C언어를 이용한 기본 파일입출력 형식입니다.

다뤄야 하는 파일이 많을 때 유용하게 사용할 수 있습니다. 전체코드는 아래에 있습니다.

 

void File_input(int i) {
	char Input[5][15] = {
		"Input_1.txt", "Input_2.txt", "Input_3.txt", "Input_4.txt", "Input_5.txt"
	};

	FILE* input;
	input = fopen(Input[i], "r");

	if (input != NULL) {
		//read function.
	}
	else {
		printf("Error.");
		exit(1);
	}

	fclose(input);
}

파일 입력을 구현하는 함수입니다.

input file들의 이름을 배열로 선언하고, main 함수에서 반복문을 돌림으로써 실행되는데, 이때 반복문의 횟수를 매개변수로 받아 해당 파일을 file stream에 선언해 입력을 받는 구조입니다.

파일에 문제가 생겼다면, NULL값을 반환하므로 NULL인 조건에서 에러가 발생했다고 출력하고, != NULL 조건 안에서 함수를 구현하면 됩니다.

 

void File_output(int i) {
	char Output[5][15] = {
		"Output_1.txt", "Output_2.txt", "Output_3.txt", "Output_4.txt", "Output_5.txt"
	};

	FILE* output;
	output = fopen(Output[i], "w");

	if (output != NULL) {
		//write function
	}
	else {
		printf("Error.");
		exit(1);
	}
	fclose(output);
}

파일 출력 구현 함수입니다.

File_input 함수와 기능 및 구성이 완벽히 동일하므로 넘어가겠습니다.

 

 

int main(void) {
	for (int i = 0; i < NUMBER_OF_FILES; i++) {
		File_input(i);
		File_output(i);
	}
}

main함수입니다.

for문을 사용한 반복문으로, NUMBER_OF_FILES는 파일의 개수를 나타내는 상수로 #define을 사용해 전처리부에 선언해놓았습니다. 

파일 개수에 따라 코드 상단의 숫자를 바꾸면 되고, Input 혹은 Output 배열을 파일 이름에 맞게 수정하시면 됩니다.

 

#define _CRT_SECURE_NO_WARNINGS
#define NUMBER_OF_FILES 5
#include <stdio.h>
#include <stdlib.h>

void File_input(int i) {
	char Input[5][15] = {
		"Input_1.txt", "Input_2.txt", "Input_3.txt", "Input_4.txt", "Input_5.txt"
	};

	FILE* input;
	input = fopen(Input[i], "r");

	if (input != NULL) {
		//read function.
	}
	else {
		printf("Error.");
		exit(1);
	}

	fclose(input);
}

void File_output(int i) {
	char Output[5][15] = {
		"Output_1.txt", "Output_2.txt", "Output_3.txt", "Output_4.txt", "Output_5.txt"
	};

	FILE* output;
	output = fopen(Output[i], "w");

	if (output != NULL) {
		//write function
	}
	else {
		printf("Error.");
		exit(1);
	}
    
	fclose(output);
}

int main(void) {
	for (int i = 0; i < NUMBER_OF_FILES; i++) {
		File_input(i);
		File_output(i);
	}
}

 

반응형

'C언어' 카테고리의 다른 글

[C언어] atoi와 strtok 사용한 정수 파일입출력  (2) 2022.09.19