fread和fwrite的使用

1.rread和fwrite函数

数据块I/O fread与fwrite
函数原型:
size_t fead(void *buffer, size_t size, size_t, count, FILE *pf)
size_t frite(void *buffer, size_t size, size_t count, FILE *pf)
功能:读写数据块(将内存的内容直接写入磁盘)
返回值:成功,返回读/写的块数,出错或文件尾,返回0.
参数含义:
buffer 指向要输入/输出数据块首地址指针。
size 每个要读/写的数据块的大小。
count 要读/写的数据块的个数
fp 要读/写的文件指针
typedef unsigned size_t
fread和fwrite一般用于二进制文件的输入/输出

2. 文本与二进制文件之间的区别是\n和\r之间的转换。

3.例子

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

void main1()
{
    int a[100];
    printf("%p", a);
    for (int i = 0; i < 100;i++)
    {
        ;
        printf("\n%d", a[i] = i);
    }

    FILE *pf = fopen("C:\\1.bin", "r");

    int num=fwrite(a, sizeof(int), 99, pf);//第一个内存首地址,第二个元素大小,第三个个数
    printf("fwrite  return =%d", num);//返回写入成功的个数.失败返回0
    fclose(pf);

    system("pause");

}
void write()
{
    int a[100];

    for (int i = 0; i < 100; i++)
    {
        printf("\n%d", a[i] = i);
    }
    FILE *pf = fopen("C:\\1.bin", "wb");
    int num = fwrite(a, sizeof(int), 100, pf);//第一个内存首地址,第二个元素大小,第三个个数
    printf("fwrite  return =%d", num);//返回写入成功的个数.失败返回0
    fclose(pf);
}

void read()
{
    void *p = malloc(400);
    printf("%p\n", p);
    FILE *pf = fopen("C:\\1.bin", "rb");
    int num= fread(p, 4, 100, pf);//第一个内存首地址,第二个元素大小,第三个个数
    printf("fread  return =%d", num);//返回读取成功个数
    fclose(pf);
}

void main()
{
    read();

    system("pause");
}
时间: 2024-10-12 03:34:59

fread和fwrite的使用的相关文章

用fread和fwrite实现文件复制操作

#include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc,char **argv) { FILE *fp_src,*fp_des; char buf[128]; int num; if(argc!=3) { printf("the format must be: cp_example file_src file_des\n"); exit(EXIT_FAI

文件操作:fread()和fwrite()

fread和fwrite函数功能 用来读写一个数据块. 一般调用形式 fread(buffer,size,count,fp); fwrite(buffer,size,count,fp); 说明 (1)buffer:是一个指针,对fread来说,它是读入数据的存放地址.对fwrite来说,是要输出数据的地址. (2)size:要读写的字节数: (3)count:要进行读写多少个size字节的数据项: (4)fp:文件型指针. 注意:1 完成次写操(fwrite())作后必须关闭流(fclose()

文件块读写-使用fread和fwrite

通常使用fprintf和fscanf进行对文件的格式化读写,但是因为读写的过程中要进行转码,因此 那么可以通过fread和fwrite进行对数据块的读写. 函数定义为 size_t fread(void *buffer,size_t numbyte,size_t count, FILE *fp); size_t fwrite(const void *buffer,size_t numbyte,size_t count, FILE *fp); 参数含义,buffer-数据块首地址,numbyte-

数据块I/O:fread与fwrite

函数原型: size_t fread(void *buffer,size_t size, size_t count,FILE *fp) size_t fwrite(void *buffer,size_t size, size_t count,FILE *fp) 功能:读/写数据块 返值:成功,返回读/写的块数:出错或文件尾,返回0 说明: typedef unsigned size_t; buffer: 指向要输入/输出数据块的首地址的指针 size: 每个要读/写的数据块的大小(字节数) co

fread和fwrite用法小结

fwrite和fread是以记录为单位的I/O函数,fread和fwrite函数一般用于二进制文件的输入输出. #include <stdio.h>size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);       返回值:读或写的记录数,成功时返回的记录数等于nmemb,出错

函数fgets和fputs、fread和fwrite、fscanf和fprintf用法小结 (转)

函数fgets和fputs.fread和fwrite.fscanf和fprintf用法小结 字符串读写函数fgets和fputs 一.读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为: fgets(字符数组名,n,文件指针): 其中的n是一个正整数.表示从文件中读出的字符串不超过 n-1个字符.在读入的最后一个字符后加上串结束标志'\0'.例如:fgets(str,n,fp);的意义是从fp所指的文件中读出n-1个字符送入 字符数组str中. [例10.

fread(),fwrite() 读/写流

C 库函数 - fread() 描述 C 库函数 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) 从给定流 stream 读取数据到 ptr 所指向的数组中. 声明 下面是 fread() 函数的声明. size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) 参数 ptr -- 这是指向带有最小尺寸 size*nmemb 字节的内存块的指针.

关于二进制文件fread、fwrite函数使用读写

环境:vs2013 语言:C语言 时间:2015年3月10日 功能:实现二进制文件的读写实例 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #define FILENAME "d:/studentInfo" #define COUNT 5 typedef struct { char name[10]; short Math; short Chinese; short

fread和fwrite同时对一个文件读写

这几天看到了fopen的参数设置.中文的那些真的是不能帮助精确理解.在网上发现了英文的,特附上: FILE *fopen(const char *filename, const char *mode)fopen opens the named file, and returns a stream, or NULL if the attempt fails. Legal values for mode include:"r"open text file for reading"