c++ fopen函数(c++如何用二进制将对象写入文件,举个例子)
本文目录
- c++如何用二进制将对象写入文件,举个例子
- c++ 从文件读取数字
- C++中怎么用二维向量读取TXT 中的数据
- c\c++中fp=fopen(“data“,“w“)中data文件是如何创建的,能详细点么,有劳了,分不多
- 请问C++ 如何从txt文件中读取数据,然后保存在类的数组中
- C++打开文件函数
- C++ 中文件操作的几个基本函数是什么
- C++ fopen ()的问题
c++如何用二进制将对象写入文件,举个例子
***隐藏网址***·················· 文件的打开(fopen函数) fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,使用文件方式); 其中, “文件指针名”必须是被说明为FILE 类型的指针变量; “文件名”是被打开文件的文件名; “使用文件方式”是指文件的类型和操作要求。 “文件名”是字符串常量或字符串数组。 例如: FILE *fp; fp=("file a","r"); 其意义是在当前目录下打开文件file a,只允许进行“读”操作,并使fp指向该文件。 又如: FILE *fphzk fphzk=("c:\\hzk16","rb") 其意义是打开C驱动器磁盘的根目录下的文件hzk16,这是一个二进制文件,只允许按二进制方式进行读操作。两个反斜线“\\ ”中的第一个表示转义字符,第二个表示根目录。 使用文件的方式共有12种,下面给出了它们的符号和意义。 文件使用方式 意义 “rt” 只读打开一个文本文件,只允许读数据 “wt” 只写打开或建立一个文本文件,只允许写数据 “at” 追加打开一橡告悉个文本文件,并在文件末尾写数据 “rb” 只读打开一个二进制文件,只允许读数据 “wb” 只写打开或建立一个二进制文件,只允许写数据 “ab” 追加打开一个二进制文件,并在文件末尾写数据 “rt+” 读写打开一个文本文件,允许读和梁乎写 “wt+” 读写打开或建立一个文本文件,允许读写 “at+” 读写打开一个文本文件,允许读,或在文件末追加数据 “rb+” 读写打开一个二进制文件,允许读和写 “wb+” 读写打开或建立一个二进制文件,允许读和写 “ab+” 读写打开一个二进制文件,允许读,或在文件末追加数据 对于文件使用方式有以下几点说明: 1) 文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是: r(read): 读 w(write): 写 a(append): 追加 t(text): 文本文件,可省略不写 b(banary): 二进制文件 +: 读和写 2) 凡用“r”打开一个文件时,该文件必须已经存在,且只能从该文件读出。 3) 用“w”打开的文件只能向该文件写入。若打开的文件不存在,则以指定的文件名建立该文件,若打开的文件已经存在,则将该文件删去,重建一个新文件。 4) 若要向一个已存在的文件追加新的信息,只能用“a”方式打开文件。但此时该文件必须是存在的,否则将会出错。 5) 在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。在程序中可以用这一信息来判别是否完成打开文件的工作,并作相应的处理。因此常用以下程序段打开文件: 6) if((fp=fopen("c:\\hzk16","rb")==NULL) { printf("\nerror on open c:\友租\hzk16 file!"); getch(); exit(1); } 这段程序的意义是,如果返回的指针为空,表示不能打开C盘根目录下的hzk16文件,则给出提示信息“error on open c:\ hzk16 file!”,下一行getch()的功能是从键盘输入一个字符,但不在屏幕上显示。在这里,该行的作用是等待,只有当用户从键盘敲任一键时,程序才继续执行,因此用户可利用这个等待时间阅读出错提示。敲键后执行exit(1)退出程序。 7) 把一个文本文件读入内存时,要将ASCII码转换成二进制码,而把文件以文本方式写入磁盘时,也要把二进制码转换成ASCII码,因此文本文件的读写要花费较多的转换时间。对二进制文件的读写不存在这种转换。 8) 标准输入文件(键盘),标准输出文件(显示器),标准出错输出(出错信息)是由系统打开的,可直接使用。
c++ 从文件读取数字
不知道你的输入文件有没有问题如果在输入文件最后一个数字之后有空格或者回车,那inFile.good()会返回true,然后inFile 》》 temp;得不到一个数字。因为temp是你每循环一次就定义一次并且销毁,每一次定义的时候应该会使用同一个地址(这是我猜的),然后因为temp没有得到赋值,所以就保留了上一次运行的值,并赋给数组
C++中怎么用二维向量读取TXT 中的数据
可以按照如下几步操作来读取矩阵。1、确定文件名。2、打开文件,使用fopen函数。fopen("文件名", “r”);3、根据约定的文件格式,包括文件中矩阵消含规模,元素的类型,以及元素分隔的符号,采用fscanf函数循环读入矩阵。4、判断文件是否读完,如未读完,重复第三步直到读完。5 关闭文件。举例说明:文件名为in.txt, 文件中存有若干行整型数据,每行3个元素,元素间让贺以空格分隔。即存有一个3*n的矩阵,n值不定,约定最大为100行。代码如下:123456789101112131415161718int a;//定义矩阵int lines=0;//矩阵行数void matrix_read(){FILE *fp;int i;fp = fopen("in.txt", "r");//打开文件if(fp == NULL)//打开失败return;while(lines 《 100){for(i = 0; i 《 3; i ++)if(fscanf(fp, "%d",&a) == EOF) break;//读取数据if(feof(fp)) break;//判断是否文件结束。lines++;//读取一行成功,增加行数。}fclose(fp);/拿滑笑/关闭文件。}
c\c++中fp=fopen(“data“,“w“)中data文件是如何创建的,能详细点么,有劳了,分不多
fp=fopen("data","w"),该语句中fp是文件指针,指向data文件,fopen函数的作用是创建并打开data文件,并向data文件中执行写操作,data文件是有c语言执行fopen函数创建的,具体是如何创建的这个你可以不用关心,只要知道fopen函数可以创建文件就行了,会用就行了,不必过多的关系细节。
请问C++ 如何从txt文件中读取数据,然后保存在类的数组中
使用隐斗fopen,fscanf函数就可以从txt文件中读取数据。
1.fopen的函数原型:FILE * fopen(const char * path,const char * mode); fopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式: r 以只读方式打开文件,该文件必须存在。 r+ 以可读写方式打开文件,该文件必须存在。 rb+ 读写打开一个二进制文件,允许读数据。 rw+ 读写打开一个文本文件,允许读和写。 w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。 a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留) a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留) wb 只写打开或新建一个二进制文件;只允许写数据。 wb+ 读写打开或建立一个二进制文件,允许读和写。 wt+ 读写打开或着建立一个文本文件;允许读写。 at+ 读写打开一个文本文件,允许读或在文本末追加数据。 ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。 上述的形态字符串都可以再加一行胡个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。 返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。2.例程:
#include《stdio.h》#define F_PATH "d:\\myfile\\file.dat"char c;int main(){ 灶带磨 FILE*fp=NULL;//需要注意 fp=fopen(F_PATH,"r"); if(NULL==fp) return -1;//要返回错误代码 while(fscanf(fp,"%c",&c)!=EOF) printf("%c",c); //从文本中读入并在控制台打印出来 fclose(fp); fp=NULL;//需要指向空,否则会指向原打开文件地址 return 0;}
C++打开文件函数
C++通过以下几个类支持文件的输入输出(1) ofstream:写操作,输出文件类;(2) ifstream:答漏读操作,输入文件类;(3) fstream:可同时读写的文件类。1. open函数:打开文件函数原型:void open(const char*filename,int mode,int access); 参数说明:filename: 要打开的文件名 mode: 要打开文件的方式 access: 打开文件的属性 打开文件的方式在类ios(是所有流式I/O类的基类)中定义,常用的值如下: ios::app: 以追加的方式打开文件 ios::ate: 文件打开后定位到文件尾,ios:app就包含有此属性 ios::binary: 以二进制方式打开文件,缺省的方式是文本方式。两种方式的区别见前文 ios::in: 文件以输入方式打开 ios::out: 文件以输出方式打开 ios::nocreate: 不建立文件,所以文件不存在时打开失败 ios::noreplace:不覆盖文件,所以打开文件时如果文件存在失败 ios::trunc: 如果文件存在,把文件长度设为0 可以用“或”把以上属性连接起来,悔举局如ios::out|ios::binary 打开文件的属性取值是: 0:普通文件,打开访问 1:只读文件 2:隐含文件 4:系统文件 例如:以二进制输入方式打开文件c:\config.sys fstreamfile1; file1.open("c:\\config.sys",ios::binary|ios::in,0); ofstream file;file.open ("example.bin", ios::out |ios::app | ios::binary);2. close函数函数原型:void close()3. 二进制文件(Binary files)在二进制文件中,使用《《 和》》,以及函数(如getline)来操作符输入和输出数据,没有什么实际意义,虽然它们是符合语法的。文件流包括两个为顺序读写数据特殊设计的碧让成员函数:write 和 read。第一个函数 (write) 是ostream 的一个成员函数,都是被ofstream所继承。而read 是istream 的一个成员函数,被ifstream 所继承。类 fstream 的对象同时拥有这两个函数。它们的原型是:write ( char *buffer, streamsize size );read ( char * buffer, streamsize size );这里 buffer 是一块内存的地址,用来存储或读出数据。参数size 是一个整数值,表示要从缓存(buffer)中读出或写入的字符数。
C++ 中文件操作的几个基本函数是什么
1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。一般的C语言教程都有文好谨件操作燃槐一章,可以找本教材进一步学习。2、例程:
#include《stdio.h》int a;char b,c;int main(){ FILE * fp1 = fopen("input.txt", "r");//打开输入文件 FILE * fp2 = fopen("output.txt", "w");//打开输出文件 if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出 puts("不能打开文件!"); return 0; } fscanf(fp1,"%d",&a);//从输入文件读取一个整数 b=fgetc(fp1);//从输入文件读取一个字符 fgets(c,100,fp1);//从输入文件读取一行字符串 printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数 fputs(c,fp2);//向输出文件写入一行字符串 fputc(b,fp2);//向输出文件写入一个字友段基符 fprintf(fp2,"%d",a);//向输出文件写入一个整数 fclose(fp1);//关闭输入文件 fclose(fp2);//关闭输出文件,相当于保存 return 0;}
C++ fopen ()的问题
1、fopen函源丛数在 stdio.h里面。它是用于打开文件的。函数原型:FILE *fopen( const char *fname, const char *mode );2、fopen()函数打开由fname(文件名)指定的文件, 并返回一个关联该文雹册樱件的流.如果发生错误, fopen()返回NULL.mode(方式)是用于决定文件的用途(例如 用于输入,输出,等等)Mode(方式)意义"r"打开一个用于读取的文本文件"w"创建一个用于写入的文本文件"a"附加到一个文本文件"rb"打开一个用于读取的二进制文件"wb"创建一个用于写入的二进制文件"ab"附加到一个二进制文件"r+"打开一个用于读/写的文本文件"w+"创建一姿灶个用于读/写的文本文件"a+"打开一个用于读/写的文本文件"rb+"打开一个用于读/写的二进制文件"wb+"创建一个用于读/写的二进制文件"ab+"打开一个用于读/写的二进制文件
更多文章:
提取相同名字的数据公式(excel 数据对碰,两个表中,找出相同名字的数据,)
2024年10月4日 18:45
redhat 6 4 下载(linux redhat 6.4 安装oracle 12c需要哪些安装包)
2024年7月9日 06:01
apache 虚拟主机(什么是虚拟主机,apache 虚拟主机)
2024年7月9日 01:42
rmdir删除目录下的所有文件(rmdir /s /q 命令删除c:\program files\tv文件夹)
2024年7月24日 03:55
冒泡排序比较次数最少的情况(冒泡排序最好的情况元素比较几次)
2024年7月21日 05:03
特斯拉召回车辆查询入口(特斯拉再陷质量风波,决定召回车辆合计734辆)
2024年7月12日 19:13
radioactive是什么意思(radioactive 的mv什么意思)
2024年5月11日 07:33
oracle服务名和实例名(如何区分Oracle的数据库,实例,服务名,SID)
2024年6月26日 21:57