우아한 프로그래밍
article thumbnail

1. 헤더

#pragma once

int main(void);
void myPrint(int* array, int arraySize, int size);
void writeFile(char* fileName, FILE* file, int* array, int arraySize);
void readFile(char* fileName, FILE* file, int* array, int arraySize);


 

2. 소스코드

#define _CRT_SECURE_NO_WARNINGS    // fopen 보안 경고로 인한 컴파일 에러 방지
#include <stdio.h>
#include "main2.h"


int main(void)
{	
	FILE* file = NULL;
	int arraySize = 100;
	int* writeArray = malloc(sizeof(int)*  arraySize);
	int* readArray = malloc(sizeof(int) * arraySize);
	char* fileName = "test_file.bin";

	for (int i = 0; i < 100; i++)
	{
		writeArray[i] = i + 1;
	}

	// 파일 쓰기 함수
	writeFile(fileName, file, writeArray, arraySize);

	// 파일 읽기 함수
	readFile(fileName, file, readArray, arraySize);

	// 한줄에 들어갈 갯수 정의 하여 출력
	myPrint(readArray, arraySize,  10);
	
	return 0;
}

void readFile(char* fileName, FILE* file, int* array, int arraySize)
{
	// 파일 오픈
	file = fopen(fileName, "rb");

	// 파일 읽기
	fread(array, sizeof(int), arraySize, file);

	// 파일 닫기
	fclose(file);

}

void writeFile(char* fileName, FILE* file, int* array, int arraySize)
{

	// 파일 오픈
	file = fopen(fileName, "wb");

	// 파일 쓰기
	fwrite(array, sizeof(int), arraySize, file);

	// 파일 닫기
	fclose(file);

}

void myPrint(int* array, int arraySize, int size) {
	for (int i = 0; i < arraySize; i++)
	{
		if ((i + 1) % size == 0)
		{
			printf("%d\n", array[i]);
		}
		else
		{
			printf("%d\t", array[i]);
			
		}
	}
}

3. 결과

 

profile

우아한 프로그래밍

@자바조아!

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!