3 回答
TA贡献2041条经验 获得超4个赞
c语言中fread函数语法为size_t fread( void *restrict buffer, size_t size, size_t count, FILE *restrict stream )。buffer是指向要读取的数组中首个对象的指针,size是每个对象的大小(单位是字节),count是要读取的对象个数,stream是输入流。通过fread函数可进行数据读取,返回成功读取的对象个数。
TA贡献1856条经验 获得超17个赞
fread函数可从文件中读取二进制数据
语法:
A = fread(fid, count)
A = fread(fid, count, precision)
其中fid为指针所指文件中的当前位置,count指读取的数据个数, precision表示以什么格式的数据类型读取数据。
例子:
fid = fopen('alphabet.txt', 'r');
c = fread(fid, 5)'
c =
65 66 67 68 69
fclose(fid);
程序说明:alphabet文件中按顺序存储着26个英文字母,读取文件之前要先打开文件,由于未指定读取数据的类型,所以程序指定默认类型为无符号字符型即uchar,65、66、67、68、69代表A、B、C、D、E,文件用完还要记得关闭文件,以便释放指针。
TA贡献1895条经验 获得超7个赞
1、C语言中:fread是一个函数。从一个文件流中读数据,最多读取count个元素,每个元素size字节,如果调用成功返回实际读取到的元素个数,如果不成功或读到文件末尾返回 0。
函数原型:size_t fread ( void *buffer, size_t size, size_t count, FILE *stream) ;
参数:
buffer 用于接收数据的内存地址
size 要读的每个数据项的字节数,单位是字节
count 要读数据项的个数,每个数据项size个字节.
stream 输入流的指针
返回值:
返回实际读取的元素个数。如果返回值与count不相同,则可能文件结尾或发生错误。从ferror和feof获取错误信息或检测是否到达文件结尾。
2、例程:
#include<stdio.h> #include<string.h> int main( void ) { FILE *stream; char msg[]= "this is a test" ; char buf[20]; if ((stream= fopen ( "DUMMY.FIL" , "w+" ))==NULL) { fprintf (stderr, "Cannot open outputfile.\n" ); return 0; } fwrite (msg,1, strlen (msg)+1,stream); fseek (stream,0,SEEK_SET); fread (buf, strlen (msg)+1,1,stream); printf ( "%s\n" ,buf); fclose (stream); return0; } |
- 3 回答
- 0 关注
- 471 浏览
添加回答
举报