【C 语言】文件操作 ( fwrite 函数 ) |
您所在的位置:网站首页 › c语言读取文件内容写入另一个文件 › 【C 语言】文件操作 ( fwrite 函数 ) |
文章目录
一、fwrite 函数二、fwrite 示例三、fwrite 示例 ( 写出数据超出实际有效值 )四、fwrite 示例 ( 输出 int 整型到二进制文件中 )
二进制文件读写两个重要的函数 , fread 和 fwrite , fread 用于读取文件 , fwrite 用于写出文件 ; fread / fwrite 函数 既可以操作 二进制文件 , 又可以操作 文本文件 ; getc / putc 函数 , fscanf / fprintf 函数 , fgets / fgets 函数 , 只能用于操作 文本文件 ; 一、fwrite 函数函数原型 : size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)参数胡说明 : const void *ptr : 指针指向要写出数据的内存首地址 ; size_t size : 要写出数据的 基本单元 的字节大小 , 写出单位的大小 ; size_t nmemb : 要写出数据的 基本单元 的个数 ; FILE *stream : 打开的文件指针 ; 返回值说明 : size_t 返回值返回的是实际写出到文件的 基本单元 个数 ; 二、fwrite 示例fwrite 函数示例 : #include int main() { // 使用 "wb" 二进制写的方式打开文件 FILE *p = fopen("D:\\a.txt", "wb"); // 用于写出数据的缓冲区 char buffer[1024] = {0}; // 设置缓冲区数值 buffer[0] = 'H'; buffer[1] = 'e'; buffer[2] = 'l'; buffer[3] = 'l'; buffer[4] = 'o'; // buffer : 将指针对应的内存的写出到文件中 // sizeof(char) : 写出的基本单元字节长度 // sizeof(buffer) : 写出的基本单元个数, // 写出字节个数是 sizeof(buffer) * sizeof(char) // p : 文件指针 // 返回值 : fwrite 函数返回值表示写出到的 基本单元 的个数 size_t count = fwrite(buffer, sizeof(char), 5, p); // 打印写出的内容和写出的 基本单元 个数 printf("fread : buffer = %s , write count = %u\n", buffer, count); // 逐个字节打印读取出数据的 ASCII 码 int i = 0; for(i = 0; i // 使用 "wb" 二进制写的方式打开文件 FILE *p = fopen("D:\\a.txt", "wb"); // 用于写出数据的缓冲区 char buffer[1024] = {0}; // 设置缓冲区数值 buffer[0] = 'H'; buffer[1] = 'e'; buffer[2] = 'l'; buffer[3] = 'l'; buffer[4] = 'o'; // buffer : 将指针对应的内存的写出到文件中 // sizeof(char) : 写出的基本单元字节长度 // sizeof(buffer) : 写出的基本单元个数, // 写出字节个数是 sizeof(buffer) * sizeof(char) // p : 文件指针 // 返回值 : fwrite 函数返回值表示写出到的 基本单元 的个数 size_t count = fwrite(buffer, sizeof(char), 20, p); // 打印写出的内容和写出的 基本单元 个数 printf("fread : buffer = %s , write count = %u\n", buffer, count); // 逐个字节打印读取出数据的 ASCII 码 int i = 0; for(i = 0; i // 使用 "wb" 二进制写的方式打开文件 FILE *p = fopen("D:\\a.txt", "wb"); // 设置写入变量 int number = 0x12345678; // buffer : 将指针对应的内存的写出到文件中 // sizeof(char) : 写出的基本单元字节长度 // sizeof(buffer) : 写出的基本单元个数, // 写出字节个数是 sizeof(buffer) * sizeof(char) // p : 文件指针 // 返回值 : fwrite 函数返回值表示写出到的 基本单元 的个数 size_t count = fwrite(&number, sizeof(int), 1, p); printf("Main End\n"); return 0; }输出结果 : 下图中有 代码 , 命令行 , 文本内容 , 二进制内容 ; 其中二进制内容为 78 56 34 12 78 \ 56 \ 34 \ 12 78 56 34 12 , 这是小端存储 , 低位放在内存低字节 , 高位放在内存高字节 , 利于存储 , 不利于阅读 ; 大端格式 与之想法 , 利于阅读 , 不利于存储 ; |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |