본문 바로가기

C_study

[C] 코딩도장 72 : 파일에서 구조체를 읽고 쓰기

72.6 심사문제: 파일에서 구조체 쓰기

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>

#pragma pack(push, 1)
struct X820Firmware {
    int serial;
    char desc[13];
    short tag;
    char mode;
};
#pragma pack(pop)
 
int main()
{
    struct X820Firmware x1;
    memset(&x1, 0, sizeof(x1));

    FILE *fp = stdout;

    x1.serial = 1800891002;
    strcpy(x1.desc, "X820 Firmware");
    x1.tag = 8512;
    x1.mode = '-';

    fwrite(&x1, sizeof(x1), 1, stdout);

    fclose(fp);

    return 0;
}

72.7 심사문제: 파일에서 구조체 읽기 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>

#pragma pack(push, 1)
struct X850Firmware {
    short serial;
    char mode;
    char desc[20];
    int version;
  
};
#pragma pack(pop)

int main()
{
    struct X850Firmware d1;
    
    FILE* fp = fopen("x850.bin", "rb");
    fread(&d1, sizeof(d1), 1, fp);
    printf("%d\n%c\n%s\n%d", d1.serial, d1.mode, d1.desc, d1.version);
    
    fclose(fp);
    return 0;
}