c++中向文件写数据有哪几种方式

如题所述

文件
文件的分类:
按照用户角度分:
①设备文件:如显示器(printf)标准输出文件;键盘(scanf)标准输入文件
②普通文件:存放在磁等介质上的文件
按照文件的逻辑结构上分:
①记录文件(有定长记录、不定长记录两种)
②流式文件(由字符数据顺序组成如c语言程序)
按照文件的编码方式:
①文本文件(又称ascii文件,每个字节存放一个ascii码)(.c、.cpp、.h、.txt、.ini、)(常见的有五种)
②二进制文件(binary file)
文件操作函数:
一、文件的打开:文件指针名=fopen(“path\文件名”,“打开文件方式”)
“文件打开方式”:
rt-只读打开文本文件
wt-只写打开文本文件
at-追加打开文本文件,并在末尾写数据。

rb-只读打开二进制文件
wb-只写打开二进制文件
ab-追加打开二进制文件,并在末尾写数据。

rt+-读写打开文本文件,允许读写
wt+-读写打开或建立一个文本文件,允许读写。
at+-读写打开一个文本文件,允许读或在文件末尾追加数据。

rb+-读写打开二进制文件,允许读写
wb+-读写打开或建立一个二进制文件,允许读写。
ab+-读写打开一个二进制文件,允许读或在文件末尾追加数据。

r+w:可读写文件(具体是二进制文件还是文本文件要看打开文件的扩展名而定)
例如:fp=fopen(“C.dat”,“w+b”)

文件打开模式只有r、w、a、t、b、+、这六个字符拼成。
w:用w打开的文件只能向该文件写入数据(更准确是建立一个新的文件)(即将 信息从程序写入磁盘中)
a:用a打开对我文件只能向已存在的文件中追加信息
①对于文本文件应注意:从程序中读入内存时,要将ASCII码转换成二进制码;而 把文件以文本形式写入磁盘时,要将二进制码转换为ASCII码。
②fopen函数将返回一个文本文件结构的指针(该文件不存在时,返回NULL)
文件的关闭:fclose(fp);(作用强制性将存放在缓中的未满的数据写入到磁盘中, 然后释放文件指针,使其真正写入磁盘中)
fclose(fp);关闭成功时返回0,失败时返回EOR
文件的读写:
读字符函数— fgetc()
调用格式:字符变量=fgetc(文件指针(fp));
函数说明:
读字符时,文件必须以“读”或者“读写”的方式打开
读取的结果也可以不向字符变量赋值。例如fgetc(fp)
每读一个字符文件内部指针向前移动一个字符(文件内部指针不是文件指针,文件内部直镇不需要程序中定义说明由系统自动设置)
返回值:fgetc(fp):成功时函数返回读入的一个字符,若读到文件尾时或者出错时,返回值为“EOF”。
写字符函数—fputc()
调用格式:fputc(字符量(常量或者变量),文件指针(fp))
函数说明:
写字符时,文件可以用“写”“读写”“追加”的方式打开文件
写或者是读写的方式打开文件时,原有的内容将会被清除,从文件首部开始写入字符;若以追加的方式打开文件时,将在文件末尾开始写入字符。
函数的返回值:写入成功时,返回写入的字符;失败时,则会
返回“EOF”
每写入一个字符,“文件内部位置指针”向后移动一个字符
读字符串函数—fgets()
调用格式:fgets(字符数组名,n,文件指针(fp))
函数说明:
N是一个正整数,表示从文件中读取的字符串不超过N-1个字符。
读入最后一个字符后加上字符串结束标志'\0'.
读取过程中,遇到换行或者文件结束标志“EOF”(end of file)时,读取字符串结束。
写字符串函数—fputs()
调用格式:fputs(字符串量,文件指针)(字符串量,即可是字符串变量(c中为字符数组),由可是字符串常量)
函数说明:无
///////////////////////////////////////////////////////////////--这部分有点小问题(程序运行不了)
读数据块函数—fread()
调用格式:fread(p,size,n,fp)
函数说明:
P:指向输入/输出数据块的首地址的指针
Size:某类型数据存储空间的字节数(数据项大小)
N:此次从文件中读取的数据项数
Fp:文件指针变量
写数据块函数—frite()
调用格式:fread (p,size,n,fp)
函数说明:
P:指向输入/输出数据块的首地址的指针
Size:某类型数据存储空间的字节数(数据项大小)
N:此次从文件中读取的数据项数
Fp:文件指针变量
注意:fread、fwite函数在调用成功时,函数返回值为n的值,即输出的项数;如果失败,则返回(0)。

==========================================================MR_COMPUTER
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-27
二进制,ASCII
第2个回答  2012-06-27
数据六,fwrite()都可以的
第3个回答  2012-06-27
方式?不太明白额,

c++中向文件写数据有哪几种方式
②流式文件(由字符数据顺序组成如c语言程序)按照文件的编码方式:①文本文件(又称ascii文件,每个字节存放一个ascii码)(.c、.cpp、.h、.txt、.ini、)(常见的有五种)②二进制文件(binary file)文件操作函数:一、文件的打开:文件指针名=fopen(“path\\文件名”,“打开文件方式”)“文件...

文件的读取和写入(C++流的方式)
在C++编程中,文件的读取和写入操作是基础但容易被忽视的部分。有多种方式可以实现,如FILE、CFile、fstream或CSdtioFile等,但本文将主要聚焦于使用纯C++流的方式来进行操作。首先,要确保在编译时引入适当的头文件,这是进行流操作的前提。对于读取操作,我们通常使用ifstream,而对于写入,ofstream则是首选...

c++文件的读取和写入
在C++中,可以使用文件流对象进行文件的读取和写入操作。主要包括 `ifstream`和 `ofstream`两个类。详细解释:1. 文件流的引入:C++中,为了操作文件,引入了文件流的概念。通过文件流,程序可以与文件进行通信,实现数据的读取和写入。2. 读取文件:当需要从一个文件中读取数据时,可以创建一个`ifstream...

C++读取文件和写入文件内容实例详解
C++ 是一种功能强大的编程语言,提供了读取和写入文件内容的功能。通过文件流类(fstream)可实现文件操作,包括ifstream(读取)、ofstream(写入)和fstream(读写)。使用这些类的构造函数需传递文件名,成员函数则用于实际操作。读取文件内容时,创建ifstream对象并传入文件名。使用成员函数逐行读取,如std:...

【C++】文件写入操作
在C++程序中,当使用cin进行输入操作时,程序将输入视作一系列字节,这些字节被解释为字符编码。无论输入的数据类型如何,程序首先将输入视为文本数据,然后cin对象负责将其转换为目标数据类型。类似地,cout用于控制台输出。为了使用cout进行输出,步骤如下:1. 包含头文件,以访问ostream类及其成员。2. ...

详解下C++中对文本文件的读写操作
从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin> > x; 就表示从标准输入流中读取一个指定类型(即变量x的类型)的数据。 在C++中,对文件的操作是通过stream的子类fstream(file stream)来实现的,所以,要用这种方式操作文件,就必须加入头文件fstream.h...

请问在c++中如何进行文件的输入输出以及读入?
C++ 通过以下几个类支持文件的输入输出:ofstream: 写操作(输出)的文件类 (由ostream引申而来) ifstream: 读操作(输入)的文件类(由istream引申而来) fstream: 可同时读写操作的文件类 (由iostream引申而来) 打开文件(Open a file)对这些类的一个对象所做的第一个操作通常就是将它和一个真正的文件联系起来,也就...

c++中怎么自己实现输入和输出?
在 C++ 中实现文件的输入与输出,可以通过 istream 和 ostream 类及其派生类完成。这些类直接或间接关联到物理文件,通过文件流对象如 myfile 操作文件。文件操作的第一个步骤通常是打开文件,这可以通过流对象的成员函数 open 来实现,参数包括文件名和可选的模式标志,如 ios::binary。如果文件打开成功...

C++编程,请问如何向文件中插入数据?任意位置
文件比较小的话,可以在内存中开辟一个临时文件,开始从源文件往里写,写到要插入的地方再写要插入的数据,然后再写源文件内容。最后把源文件替代了

C++中如何向文件中追加文本内容
1、首先,定义两个字符串变量str1和str2。2、接着,输入两个字符串,保存在变量str1和str2中。3、然后,在字符串str1后添加字符串str2,用函数append实现。4、最后,输出字符串str1。5、函数append中,可以使用字符串变量,也可以直接使用字符串。6、字符串后,还可以用append函数,添加多个字符串...

相似回答