it-source

c에 있는 파일에 구조체 쓰기

criticalcode 2023. 8. 4. 23:09
반응형

c에 있는 파일에 구조체 쓰기

전체 구조체를 파일에 쓸 수 있습니까?

예:

struct date {
    char day[80];
    int month;
    int year;
};

전체 구조체를 파일에 쓸 수 있습니까?

당신의 질문은 실제로 구조 인스턴스를 파일에 쓰는 것입니다.

  1. 사용할 수 있습니다.fwrite이를 달성하기 위한 기능.
  2. 첫 번째 인수에서 참조를 전달해야 합니다.
  3. sizeof두 번째 주장의 각 목적어
  4. 세 번째 인수에 쓸 개체 수입니다.
  5. 4번째 인수의 파일 포인터입니다.
  6. 파일을 여는 것을 잊지 마십시오.binary mode.
  7. fread를 사용하여 파일에서 개체를 읽을 수 있습니다.
  8. 작은 엔디안 시스템에서는 쓰기/읽기, 큰 엔디안 시스템에서는 읽기/쓰기를 할 때 엔디안성에 주의하십시오.쓰기 방법-엔디안-아그노스틱-c-c-c 코드 읽기

    struct date *object=malloc(sizeof(struct date));
    strcpy(object->day,"Good day");
    object->month=6;
    object->year=2013;
    FILE * file= fopen("output", "wb");
    if (file != NULL) {
        fwrite(object, sizeof(struct date), 1, file);
        fclose(file);
    }
    

...를 사용하여 동일한 방법으로 읽을 수 있습니다.fread

    struct date *object2=malloc(sizeof(struct date));
    FILE * file= fopen("output", "rb");
    if (file != NULL) {
        fread(object2, sizeof(struct date), 1, file);
        fclose(file);
    }
    printf("%s/%d/%d\n",object2->day,object2->month,object2->year);

언급URL : https://stackoverflow.com/questions/16997141/writing-structs-to-a-file-in-c

반응형