关于C语言fread的用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于C语言fread的用法相关的知识,希望对你有一定的参考价值。

简介
  fread
  

能:
从一个流中读数据
  
函数原型:
size_t
fread(
void
*buffer,
size_t
size,
size_t
count,
file
*stream
); 
  

数:
  
1.用于接收数据的地址(指针)(buffer)
  
2.单个元素的大小(size)
:单位是字节而不是位,例如读取一个整型数就是2个字节
  
3.元素个数(count)
  
4.提供数据的文件指针(stream)
  
返回值:成功读取的元素个数
程序例
#include
  
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
output
file.\n");
  
return
1;
  

  /*
write
some
data
to
the
file
*/
  
fwrite(msg,
strlen(msg)+1,
1,
stream);
  /*
seek
to
the
beginning
of
the
file
*/
  
fseek(stream,
0,
seek_set);
  /*
read
the
data
and
display
it
*/
  
fread(buf,
strlen(msg)+1,
1,stream);
  
printf("%s\n",
buf);
  
fclose(stream);
  
return
0;
  
参考技术A scanf("%s",&filepath);
这一句就错了。应为scanf("%s",filepath);
数组名就是其地址。
先把这里改正了再说吧。
fread()的第一个参数应该是数组。你的不是。
你的是WORD,实际是short,但你却用%s输出。建议

typedef
struct
tagBITMAPFILEHEADER

WORD
bfType;

BYTE
bfType[100];

c语言中fgets 、fputs、fread、fscanf、fseek的区别和作用

fread:是读取数据
fwrite:是写入数据
1.函数功能
用来读写一个数据块。
2.一般调用形式
fread(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
3.说明
(1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。
(2)size:要读写的字节数;
(3)count:要进行读写多少个size字节的数据项;
(4)fp:文件型指针。
注意:1
完成次写操(fwrite())作后必须关闭流(fclose());
2
完成一次读操作(fread())后,如果没有关闭流(fclose()),则指针(file
*
fp)自动向后移动前一次读写的长度,不关闭流继续下一次读操作则接着上次的输出继续输出;
3
fprintf()

按格式输入到流,其原型是int
fprintf(file
*stream,
const
char
*format[,
argument,
...]);其用法和printf()相同,不过不是写到控制台,而是写到流罢了。注意的是返回值为此次操作写入到文件的字节数。如int
c
=
fprintf(fp,
"%s
%s
%d
%f",
str1,str2,
a,
b)
;str1:10字节;str2:
10字节;a:2字节;b:8字节,c为33,因为写入时不同的数据间自动加入一个空格。
4.fscanf

scanf
相似
:当能正常读入数据时,
fscanf
返回读入数据的个数,否则返回
eof
参考技术A fgets()从文件读取一个字符串
fputs()将一个字符串输出到文件
fread()从文件以二进制方式读取数据
fscanf()是scanf()的文件版本
fseek()将文件指针定位到文件中需要的位置本回答被提问者采纳

以上是关于关于C语言fread的用法的主要内容,如果未能解决你的问题,请参考以下文章

c语言中fread的用法

c语言fread函数的用法

c语言中fread函数怎么用

c语言中fread函数怎么用

C语言中如何使用fread

fread函数的用法