fread函数用法(fread函数该怎样使用)
本文目录
- fread函数该怎样使用
- fread函数的用法
- C语言fread函数怎么用啊为什么我写出来输出数据不对,
- 如何使用fread函数循环读取二进制文件
- matlab 中关于fread函数的用法
- C语言程序设计问题,关于fread()函数的使用
- 简答题:fgetc,fgets,fscanf,fread有什么样的区别
- C语言 fwrite fread 函数怎么使用 始读取不到数据 也可能我根本没写进去
- c语言的fwrite函数和fread函数(两者都包含4个参数)的具体用法是怎样的
fread函数该怎样使用
FILE *fpread;char buffer;fpread = fopen(“file.name“,“r“); fread(filebuffer,sizeof(char),127,fpread); //因为不知道你的文件内容的格式,所以buffer设置比较大。到时处理一些读进去的一些其他字符就可以了。
fread函数的用法
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 69fclose(fid);
程序说明:alphabet文件中按顺序存储着26个英文字母,读取文件之前要先打开文件,由于未指定读取数据的类型,所以程序指定默认类型为无符号字符型即uchar,65、66、67、68、69代表A、B、C、D、E,文件用完还要记得关闭文件,以便释放指针。
扩展资料:
用 法
int feof(FILE *stream);
参数
流 :FILE结构的指针
注意:feof判断文件结束是通过读取函数fread/fscanf等返回错误来识别的,故而判断文件是否结束应该是在读取函数之后进行判断。比如,在while循环读取一个文件时,如果是在读取函数之前进行判断,则如果文件最后一行是空白行,可能会造成内存错误。
参考资料:
fread--百度百科
C语言fread函数怎么用啊为什么我写出来输出数据不对,
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获取错误信息或检测是否到达文件结尾。
例程:
#include《stdio.h》#include《string.h》int main(void){ FILE*stream; char msg=“this is a test“; char buf; 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;}如何使用fread函数循环读取二进制文件
在读写二进制文件的时候,必须确保文件的打开形式是以二进制读写的形式打开的,即:文件的打开形式必须是“rb“,“wb“要不然,读写数据的时候,就会出现错误。函数使用说明:file*fopen(constchar*path,constchar*mode);参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。mode有下列几种形态字符串:r打开只读文件,该文件必须存在。r+打开可读写的文件,该文件必须存在。rb+读写打开一个二进制文件,只允许读写数据。rt+读写打开一个文本文件,允许读和写。w打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。w+打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。a以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(eof符保留)a+以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。(原来的eof符不保留)wb只写打开或新建一个二进制文件;只允许写数据。wb+读写打开或建立一个二进制文件,允许读和写。wt+读写打开或着建立一个文本文件;允许读写。at+读写打开一个文本文件,允许读或在文本末追加数据。ab+读写打开一个二进制文件,允许读或在文件末追加数据。上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在posix系统,包含linux都会忽略该字符。由fopen()所建立的新文件会具有s_irusr|s_iwusr|s_irgrp|s_iwgrp|s_iroth|s_iwoth(0666)权限,此文件权限也会参考umask值。有些c编译系统可能不完全提供所有这些功能,有的c版本不用“r+“,“w+“,“a+“,而用“rw“,“wr“,“ar“等,读者注意所用系统的规定。返回值文件顺利打开后,指向该流的文件指针就会被返回。若果文件打开失败则返回null,并把错误代码存在errno中附加说明一般而言,开文件后会作一些文件读取或写入的动作,若开文件失败,接下来的读写动作也无法顺利进行,所以在fopen()后请作错误判断及处理。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:文件型指针。
matlab 中关于fread函数的用法
fread函数在MATLAB中的功能:fread函数可从文件中读取二进制数据
用法:
A = fread(fid, count)
A = fread(fid, count, precision)
其中fid为指针所指文件中的当前位置,count指读取的数据个数, precision表示以什么格式的数据类型读取数据。
扩展资料:
fread函数在PHP中:
(PHP 4, PHP 5)
fread:读取文件(可安全用于二进制文件)
stringfread( int handle, int length )
fread()从文件指针handle读取最多 length 个字节。 该函数在读取完 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时就会停止读取文件,视乎先碰到哪种情况。
在区分二进制文件和文本文件的系统上(如 Windows)打开文件时,fopen() 函数的 mode 参数要加上 ’b’。
当从网络流或者管道读取时,例如在读取从远程文件或popen()以及proc_open()的返回时,读取会在一个包可用之后停止。这意味着应该如下例所示将数据收集起来合并成大块。
如果只是想将一个文件的内容读入到一个字符串中,用file_get_contents(),它的性能比上面的代码好得多。
参考资料:百度百科-fread函数
C语言程序设计问题,关于fread()函数的使用
#include《stdio.h》#include《stdlib.h》#include《string.h》struct Plane //定义航班结构体 { char num; //航班号 char Stime; char Etime; char Start; char Ends; float Price; float Discount;//折扣 int Msum; //该航班最多载人数 Plane * next; }; FILE * fp; void save_Plane(Plane *head) { if((fp=fopen(“1.txt“,“a+“))==NULL) { printf(“没有相应的文件信息\n“); return; } for(head=head-》next;head;head=head-》next) fwrite(head,sizeof(Plane),1,fp); fclose(fp); } Plane * hangxian() //功能1:创建航线 { Plane *head,*s,*p; char ch; head=(Plane *)malloc(sizeof(Plane)); head-》next=NULL; p=head; do { s=(Plane *)malloc(sizeof(Plane)); printf(“请输入航班号: “); scanf(“%s“,&s-》num); //省略了其它数据的 getchar(); strcpy(s-》Stime,“noStime“); strcpy(s-》Etime,“noEtime“); strcpy(s-》Start,“noStart“); strcpy(s-》Ends,“noEnds“); s-》Price=0.2f; s-》Discount=0.1f; s-》Msum=3; s-》next=p-》next; p-》next=s; printf(“继续输入下一记录吗(y/n)?“); scanf(“\n %c“,&ch); getchar(); }while(ch==’y’); return head; //返回头结点指针 } void watchP() //功能3:查看航班信息 { Plane *p; p=(Plane *)malloc(sizeof(Plane)); if((fp=fopen(“1.txt“,“r“))==NULL) { printf(“打不开文件\n“); return; } else { while(fread(p,sizeof(Plane),1,fp)) { printf(“\n%8s%10s%10s%10s%10s%10.2f%10.2f%10d“,p-》num,\ p-》Stime,p-》Etime,p-》Start,p-》Ends,p-》Price,p-》Discount,p-》Msum); } fclose(fp); }}void menu() { printf(“\t\t* 1.航线创建 *\n“); printf(“\t\t* 3.查看航班信息 *\n“); printf(“\t\t 请选择按键(0---7):“); } void main() { int t; Plane * head; while(1) { menu(); scanf(“%d“,&t); getchar(); switch(t) { case 1: printf(“创建航线\n“); head=hangxian(); save_Plane(head); break; case 3: printf(“查看航班信息\n“); watchP(); break; case 0: exit(0); } } } 文件使用方式 意 义 “rt” 只读打开一个文本文件,只允许读数据 “wt” 只写打开或建立一个文本文件,只允许写数据 “at” 追加打开一个文本文件,并在文件末尾写数据 “rb” 只读打开一个二进制文件,只允许读数据 “wb” 只写打开或建立一个二进制文件,只允许写数据 “ab” 追加打开一个二进制文件,并在文件末尾写数据 “rt+” 读写打开一个文本文件,允许读和写 “wt+” 读写打开或建立一个文本文件,允许读写 “at+” 读写打开一个文本文件,允许读,或在文件末追加数 据 “rb+” 读写打开一个二进制文件,允许读和写 “wb+” 读写打开或建立一个二进制文件,允许读和写 “ab+” 读写打开一个二进制文件,允许读,或在文件末追加数据
简答题:fgetc,fgets,fscanf,fread有什么样的区别
首先这四个函数都是从文件或者输入设备读取数据,它们之间的主要区别如下:
一、fgetc
这个函数主要用于从文件或者输入设备逐个读取字符并通过返回值返回。一般如果是从文件读取,这个文件得提前以文本模式打开。
二、fgets
这个函数主要用于从文件或者输入设备读取一行字符,如果从文件读取也要求以文本模式打开文件。这个函数相对gets要安全,因为它可以通过第二个参数指定最大能读取的字符数,防止溢出。同时这个函数会读入换行符,它一般可以和fputs函数配合使用,fputs函数输出不会自动换行。fgets也可以从键盘输入字符,通过第三个参数指定读取位置,stdin表示从键盘,文件指针表示从文件。
三、fscanf
这个函数从文件中以格式化形式读取,也是要以文本形式打开文件,具体的用法和scanf一样。文件得是文本形式,二进制形式一般是会读取出错。
四、fread
fread函数主要用于以二进制模式从文件中读取数据,它一般和fwrite函数配合使用。主要用于结构体类型变量的读取。它要求文件先以二进制模式打开,如果不指定二进制模式在Windows系统可能出错,因为Windows的换行是两个字符,是换行和回车两个字符转化而来。所以使用这个函数最好以二进制打开。
C语言 fwrite fread 函数怎么使用 始读取不到数据 也可能我根本没写进去
C语言里的fwrite,是带写缓冲的。你往文件里写数据后,数据并不是马上就写到文件里。主要在下面三种情况下会写到文件里:(1)缓冲区满了(2)使用了fflush函数(3)使用了fclose函数所以你的错误就在于,在saveToDisk函数的最后,没有把文件关闭。另外,对文件操作结束,把文件关闭掉本身就是个好习惯。void saveToDisk(char path) {FILE *fp;if ((fp = fopen(path, “wb“)) == NULL ) { //wb write binary 写二进制文件printf(“%s“, “can nnot find file“);return;}int i = 0;for (i = 0; i 《 1; i++) {if (fwrite(&stus.age);}fclose(fp);}
c语言的fwrite函数和fread函数(两者都包含4个参数)的具体用法是怎样的
从键盘输入4个学生的有关数据,然后把它们转存到磁盘文件上去,接着把它们输出到终端。#include 《stdio.h》 #define SIZE 4 struct student_type{ char name; int num; int age; char addr;}stud.addr); } fclose(fp); }
更多文章:
iframe页面示例(iframe 内显示的网页 只显示改网页的某一部分!怎么写)
2023年6月11日 00:00
java静态方法可以覆写(为什么网上回答都说java中子类不能覆写父类中的静态方法,而我实际操作起来却可以呢)
2024年8月14日 04:40
unity3d视频教程推荐(求unity 3d视频教程,最好是比较新的 ,5.x的)
2024年9月8日 01:30
openssl漏洞复现(vmware esxi受到openssl漏洞影响 怎么修复)
2024年4月15日 01:50
docker过时了吗现在流行什么(开发者可以使用Docker做什么)
2024年9月6日 13:05
spyder运行代码不显示结果(tensorflow,mac使用spyder运行tensorflow代码,不显示问题却异常结束)
2024年7月20日 07:47
if函数的使用方法两列比较(如何使用IF函数判断两列数据是否相同)
2024年7月21日 16:40
学java到什么程度就可以去找工作了(自学java学多久可以自己找到工作)
2024年6月13日 20:42
vb编程基础知识command(Vb中怎样添加command控件)
2024年9月6日 17:45
compileerror的意思(一个程序编译通过了 但在acm系统下提示compile error)
2024年8月24日 15:40
人工智能算法解决新挑战,智能算法是什么是如何运行的?人工智能算法是什么
2024年7月24日 06:33