
	                	                 
fread 함수로 byte 단위로 읽어온 데이터를 char* 형태로 변환하는 방법은 다음과 같습니다.
1. 읽어온 데이터의 크기를 알아내야 합니다. fread 함수의 반환값은 읽어온 데이터의 크기입니다.
2. char* 형태로 변환하기 위해, 읽어온 데이터의 크기만큼의 메모리를 할당합니다.
3. 할당된 메모리에 읽어온 데이터를 복사합니다.
다음은 예제입니다.
#hostingforum.kr
c
#include 
#include 
int main() {
    FILE *fp = fopen("test.txt", "rb");
    if (fp == NULL) {
        printf("파일을 열 수 없습니다.n");
        return -1;
    }
    char *data;
    size_t size = 1024; // 읽어올 데이터의 크기
    data = (char*)malloc(size);
    if (fread(data, 1, size, fp) != size) {
        printf("파일을 읽을 수 없습니다.n");
        free(data);
        fclose(fp);
        return -1;
    }
    printf("%sn", data);
    // char* 형태로 변환한 데이터를 다시 파일에 쓰기
    FILE *fp2 = fopen("test2.txt", "wb");
    if (fp2 == NULL) {
        printf("파일을 열 수 없습니다.n");
        free(data);
        fclose(fp);
        return -1;
    }
    if (fwrite(data, 1, size, fp2) != size) {
        printf("파일을 쓰지 못했습니다.n");
        free(data);
        fclose(fp);
        fclose(fp2);
        return -1;
    }
    free(data);
    fclose(fp);
    fclose(fp2);
    return 0;
}
위의 예제는 fread 함수로 byte 단위로 읽어온 데이터를 char* 형태로 변환하고, 다시 파일에 쓰는 방법을 보여줍니다.
2025-03-19 14:52