C中的文件操作(以二进制数据进行存储)

1.二进制读写文件

int main()
{
    //FILE* pFile = fopen("1.bin","rb");//以只读方式打开二进制文件,该文件必须存在
    FILE* pFile = fopen("1.bin","wb");//以只写的方式打开或新建一个二进制文件,只允许写数据
    //fwrite(写入的二进制缓冲区,读入元素的大小,读入元素的个数,文件句柄);
    int a = 0Xff00;
    fwrite(&a, sizeof(int), 1, pFile);
    //fread(读入的二进制缓冲区,读入元素的大小,读入元素的个数,文件句柄);
    //fread(&a, sizeof(int), 1, pFile);
    printf("%x\n", a);

    fclose(pFile);
    return 0;
}

2.整数和二进制读写文件

如上所写的直接写入整数

 

3.数组和二进制读写文件

int main()
{
    FILE* pFile = fopen("1.bin", "rb");
    int arr[10];
    //for (int i = 0; i < 10; ++i)
    //{
    //    arr[i] = i + 1;
    //}
    //arr[0] = -1;
    //fwrite(arr, sizeof(int), 10, pFile);//写入整数二进制
    fread(arr, sizeof(int), 10, pFile);//读整数二进制
    for (int i = 0; i < 10; ++i)
    {
        printf("%5d", arr[i]);
    }
    fclose(pFile);
    return 0;
}

4.结构体和二进制读写文件

struct sBase
{
    int type;
    int x;
    int y;
}

int main()
{
    FILE* pFile = fopen("1.bin", "wb");
    struct sBase base = { 1, 5, 3 };
    fwrite(&base, sizeof(struct sBase), 1, pFile);//写入了一个sBase大小的元素进去
    fclose(pFile);
    return 0;
}

5.序列化和二进制读写文件

还没学会

 

 

posted @ 2022-05-10 23:39  CCCAn  阅读(969)  评论(0)    收藏  举报