回覆列表
  • 1 # G焦科技

    可以使用如下程式碼來實現:

    注意:以下例項省略了錯誤處理。

    #include <stdio.h>

    #include <string.h>

    #include <sys/types.h>

    #include <sys/stat.h>

    #include <fcntl.h>

    typedef struct

    {

    char name[20];

    int age;

    } Person;

    int main(int argc, char **argv)

    {

    // open

    int fd = open("name.file", O_RDWR|O_CREAT, 0666);

    // write

    Person zhang3;

    memset((void*)&zhang3, 0x00, sizeof(Person));

    strcpy(zhang3.name, "zhang3");

    zhang3.age = 42;

    write(fd, (void*)&zhang3, sizeof(Person));

    // lseek

    lseek(fd, 0, SEEK_SET);

    // read

    Person li4;

    memset((void*)&li4, 0x00, sizeof(Person));

    read(fd, (void*)&li4, sizeof(Person));

    printf("%s\n", li4.name);

    printf("%d\n", li4.age);

    // close

    close(fd);

    return 0;

    }

  • 2 # G焦科技

    可以使用如下程式碼來實現:

    注意:以下例項省略了錯誤處理。

    #include <stdio.h>

    #include <string.h>

    #include <sys/types.h>

    #include <sys/stat.h>

    #include <fcntl.h>

    typedef struct

    {

    char name[20];

    int age;

    } Person;

    int main(int argc, char **argv)

    {

    // open

    int fd = open("name.file", O_RDWR|O_CREAT, 0666);

    // write

    Person zhang3;

    memset((void*)&zhang3, 0x00, sizeof(Person));

    strcpy(zhang3.name, "zhang3");

    zhang3.age = 42;

    write(fd, (void*)&zhang3, sizeof(Person));

    // lseek

    lseek(fd, 0, SEEK_SET);

    // read

    Person li4;

    memset((void*)&li4, 0x00, sizeof(Person));

    read(fd, (void*)&li4, sizeof(Person));

    printf("%s\n", li4.name);

    printf("%d\n", li4.age);

    // close

    close(fd);

    return 0;

    }

  • 中秋節和大豐收的關聯?
  • 右轉彎後變道左轉壓實線了會有違章嗎?