c语言文件类型
① 在c语言中文件有几种操作类型
主要是两种文件类型:1)文本文件,2)
二进制文件
。
一般来说,人类可读的文件都作为文本文件,例如一片文章。其余都作为二进制文件,例如一个程序。
在C语言中,文件的操作是通过FILE
结构体
进行了,利用fopen返回一个指向FILE结构体的指针,在使用
fopen函数
过程中,使用mode控制符对是否打开哪类文件进行控制:
FILE
*fopen(
const
char
*filename,
const
char
*mode
);
filename:文件名,mode:打开的模式,规定了是可读、可写、追加之类的属性。
r
以只读方式打开
文件,该文件必须存在。
r+
以可读写方式打开文件,该文件必须存在。
rb+
读写打开一个二进制文件,允许读写数据,文件必须存在。
w
打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+
打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a
以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+
以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
(原来的EOF符不保留)
wb
只写打开或新建一个二进制文件;只允许写数据。
wb+
读写打开或建立一个二进制文件,允许读和写。
ab+
读写打开一个二进制文件,允许读或在文件末追加数据。
如果调用失败,返回一个空指针。
② C语言中的文件类型只有哪两种
二进制和ASCII两种
③ C语言可以处理的文件类型有哪些
能够处理任意文件类型,这个跟语言不相关的,而是跟文件存储结构有关
如果你知道文件结构每个字节的含义,你可以修改二进制内容
④ C语言的文件类型有哪些
从文件编码的方式来看,文件可分为ASCII码文件和二进制文件两种。
文件是指记录在介质(磁盘、磁带、光盘、u盘等)上的相关数据的集合。每个数据都有一个名称,称为文件名,它是访问文件的标识,
ASCII码文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码值。ASCII码文件可在屏幕上按字符显示的,例如源程序文件就是ASCII码文件,由于按字符显示,可以识别。
二进制文件是按二进制的编码方式来存放文件的,二进制文件虽然也可以在屏幕上显示,但其内容显示为乱码。
C语言在处理这些文件时,并不区分类型,都视为字符流,按字节处理。
⑤ c语言的数据文件有哪些 都有什么特点
具体来说,C
语言的数据文件类型分为:文本文件、以及二进制文件。它们的具体特点如下:
(1)、文本文件,在
C
语言编程中,使用
fopen(
)
库函数,文件的最基本读写方式为:r(读)、w(写);当然了,还有以添加方式进行操作的。
(2)、二进制文件,在
C
语言编程中,使用
fopen(
)
库函数,文件的最基本读写方式为:
rb(二进制读)、wb(二进制写);当然了,二进制方式也有以添加方式进行操作的。
这两种文件操作方式最大的不同就是对于回车符的处理。在以文本文件方式打开文件时,
回车换行符变为一个字符;而使用二进制方式进行处理时就是二个字符。
例如:
abcde
在文本文件中,该文件长度是
6
个字符(5个字母、以及一个换行符
\n),但是如果以二进制方式进行处理的话,就是
7
个字符(5个字母、以及
\r\n
两个字符)。
⑥ C语言的基本格式是什么
如:
1.#include<stido >
“
引入头文件(主要引入函数库,如stdio.h;数学函数”)
2. int main(void ) {
“
主函数必须是小写的(程序唯一入口,前面的int、void等都可省略,但“括号”不能。大括号内包含的内容为程序主体”
Int num = 10
3.printf(“会好的”);
Printf(“我今年%d岁了\n”,num);
“\n:表示换行;%d表示在这里带入定义的函数num =
10,所以后面必须跟‘num’这个标识符”
}
首先,在程序中注意一些小问题。
1.程序要在英文输入法的界面输入,不然程序会报警。
2.程序的格式要有一定的层次关系。
3.在定义函数(标识符)时注意不要选择了关键字。最好在“=”两边都空一格。
4.在定义函数时注意数据类型的取值范围。如:
整型
[signed]int
-2147483648~+2147483648
无符号整型
unsigned[int]
0~4294967295
短整型 short
[int] -32768~32768
无符号短整型
unsigned
short[int]
0~65535
长整型 Long
int
-2147483648~+2147483648
无符号长整型 unsigned
[int]
0~4294967295
字符型[signed]
char
-128~+127
无符号字符型 unsigned
char
0~255
单精度
float
3.4 x 10^(-38)~ 3.4 x
10^(+38)
双精度
double
1.7 x 10^(-308)~ 1.7 x
10^(+308)
长双精度 long
double 1.7
x 10^(-308)~ 1.7 x
10(+308)
⑦ C语言如何判断文件类型
c语言文件类型指针是通过file
*fp;
这种形式进行定义的。
关于file结构在vc6中有如下定义:
#ifndef _file_defined
struct _iobuf {
char *_ptr; //文件输入的下一个位置
int _cnt; //当前缓冲区的相对位置
char *_base; //指基础位置(即是文件的起始位置)
int _flag; //文件标志
int _file; //文件描述符id
int _charbuf; //检查缓冲区状况,如果无缓冲区则不读取
int _bufsiz; //文件缓冲区大小
char *_tmpfname; //临时文件名
};
typedef struct _iobuf file;
#define _file_defined
#endifc程序用不同的file结构管理每个文件。程序员可以使用文件,但是不需要知道file结构的细节。实际上,file结构是间接地操作系统的文件控制块(fcb)来实现对文件的操作的,如下图:
上面图中的_file实际上是一个描述符,作为进入打开文件表索引的整数。
文件是存放在物理磁盘上的,包括文件控制块(fcb)和数据块。文件控制块通常包括文件权限、日期(创建、读取、修改)、拥有者、文件大小、数据块信息。数据块用来存储实际的内容。当打开一个文件时,程序会将物理磁盘上的文件数据块读入到内存,然后通过文件指针的移动读取内存中的文件数据。
相关函数:
file
*fopen(
char
*file,
char
*open_mode
);
//打开文件,读文件到内存,返回文件信息结构指针
int
fread(
char
s,
int
size,
int
num,
file
*fp
);
//按字节读取文件内容到s中
int
fwrite(
char
s,
int
size,
int
num,
file
*fp
);
//按字节将s地址中的数据写到文件中
char
*fgets(
char
*s,
int
max_size,
file
*fp);
//读一行数据到缓冲区s中
int fseek(
file
*fp,
long
offset,
int
whence);
//移动文件指针到指定位置
void
rewind(file
*fp);
//回到文件头
long
ftell(file
*fp);
//得到当前文件偏移位置
fclose(fp);
//关闭文件,刷新缓存到物理磁盘上