#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]);
}
}
}