C언어 malloc() 함수를 텍스트 파일에 어떻게 적용해야 할지 난감합니다....

C언어 malloc() 함수를 텍스트 파일에 어떻게 적용해야 할지 난감합니다....

작성일 2023.10.25댓글 1건
    게시물 수정 , 삭제는 로그인 필요

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#define MAX_BUF_SIZE 128


int main(void)
{
int button1;
printf("1. 로컬 데이터 2. 네트워크 데이터\n");
printf("원하시는 데이터의 번호를 입력: ");
scanf_s("%d", &button1);

size_t ret;
char buffer[MAX_BUF_SIZE] = { 0, };


char local_filepath[] = "C:\\temp\\example.txt"; // 로컬 데이터 경로
char network_filepath[] = "\\\127.0.0.1\\C$\\temp\\test.txt"; // 네트워크 데이터 경로


FILE* loc_file = fopen(local_filepath, "rb");//로컬 파일 열기


FILE* net_file = fopen(network_filepath, "rb"); // 네트워크 파일 열기

switch (button1) {

case 1:
if (loc_file != NULL)
{
ret = fread(buffer, sizeof(char), MAX_BUF_SIZE - 1, loc_file);
if (loc_file > 0) {
printf("[fread] ret = %d\n", (int)ret);
printf("%s\n", buffer);
}
else {
//fread 를 통해 데이터를 얻지 못함
}
fclose(loc_file);

}
return 0;
}
}
현재 작성 중인 코드고 로컬 파일에 있는 텍스트 파일을 불러오는 것 까지는 해결했으나 정작 이 파일의 데이터를 읽을때
블록크기를 10b, 8kb, 32kb, 64kb, 256kb 의 크기로
Switch로 크기지정해서 변화시키면서 버퍼 크기도 블록 크기에 맞게 할당하려니까 너무 어렵네요..

이 부분을 malloc 함수로 어떻게 구현 해야 할까요?





#c언어 malloc() #c언어 malloc 배열 #c언어 malloc 2차원 배열 #c언어 malloc free #c언어 malloc 함수 #c언어 malloc 쓰는 이유 #c언어 malloc calloc #c언어 malloc 헤더 #c언어 malloc 초기화 #c언어 malloc 문자열

profile_image 익명 작성일 -

int bufferSize = 10; // 8000, 32000 등으로 바꿈 char* buffer = (char*)malloc(bufferSize); switch (button1) { case 1: if (loc_file != NULL) { while (1) { ret = fread(buffer, sizeof(char), bufferSize, loc_file); if (ret > 0) { printf("[fread] ret = %d\n", (int)ret); printf("%s\n", buffer); } else { // 다 읽었으면 루프를 종료 break; } } } break; case 2: }

이런 식으로 하시면 되겠습니다.

C언어 파일입출력 malloc문제

안녕하세요 C언어를 공부하고 있는 학생입니다. 현재... malloc함수를 어떻게 적용해야 하는지 궁금합니다. 2. 파일의 끝을 인식하면 반복문을 깨도록...

c언어 malloc 질문

... 어떻게든해야하는데 어떻게 해야할지모르... c언어 명령어중에서 혹시 위치지정자에... malloc 함수 사용법 다시 확인해보세요 1번관련...

c언어 malloc으로 동적 배열.....

... 분명 malloc함수의 프로토타입(원형)에서는 void* malloc... 그렇다면 어떻게 하는거죠 'ㅡ'?? 그렇게 편리하다면 애초 c언어 헤더파일로 하나 제공해야하지 않나여'ㅡ...