首页 > 编程知识 正文

c语言指针类型定义,c语言简单程序

时间:2023-05-04 03:05:59 阅读:169854 作者:4294

1 C语言文件概念

当程序调用输入函数从外部文件输入数据并将其分配给程序中的变量时,此操作为“输入”或“读取”; 调用输出函数将程序中变量的值输出到外部文件时,此操作称为输出或写入。

在c语言中,对输入、输出的数据都以“数据流”的形式进行处理。 也就是说,输出时,系统不追加任何信息; 时,每次读取一个数据,直到遇到EOF或文件结束标志。 C程序中的所有输入和输出文件都作为数据流存储在介质上。

对文件的输入、输出方式也称为“访问方式”。 在c语言中,有顺序存储和直接访问两种方法。

(1)顺序存取文件的特点:每次“打开”此类文件时,读写操作总是从文件的开头开始,从头到尾按顺序读写。 这意味着在按顺序访问文件时,要读取第n个字节,必须读取第一个n-1字节,不能先读取第n个字节;要写入第n个字节,必须写入第一个n-1字节。

)直接访问文件也称为随机访问文件,其特征在于,通过调用c语言库函数,能够指定开始读取或写入的字节编号,直接读取该位置的数据,或者在该位置写入数据

由于数据可以文本或二进制格式存储在介质上,因此文件可以按数据存储格式分为文本文件和二进制文件。

(1)文本文件是指,在输出时,数据被转换为一系列的文字,各文字以文字的ASCII码值存储在文件中,一个文字占一个字节。 在使用printf函数输出时,会进行这种转换,以便在内部处理过程中将输出文件的终端指定为屏幕。 相反输入时,将指定的一系列字符按类型转换为数据,并存储在内存中。 例如,在调用scanf函数进行输入时会进行此转换,并在内部处理过程中将输入终端指定为键盘。

)2)数据以二进制形式输出到文件时,数据不进行任何转换,保持计算机内的存储形式存储在硬盘中。 即,在字符型数据情况下,每个字符占1字节; 对于int类型的数据,每个数据占用2个字节。 float类型的每个数据占4个字节。 从二进制文件读取数据时,不进行转换,而是将读取的数据直接存储在变量占用的内存区域。 由此可知,由于没有转换的操作,所以文件的输入输出速度提高。 注意:二进制数据不能直接输出到终端画面,也不能通过键盘输入二进制数据。

ANSI标准规定,输入输出文件时,系统会为输入输出文件打开缓冲区。 缓冲区是指系统为内存中的每个文件打开的存储空间。 当输出某个文件时,系统首先将输出的数据填充到为该文件打开的缓冲器中,每当缓冲器满时,一次将缓冲器的内容输出到对应的文件中; 从某个文件输入数据时,首先将从输入文件输入的数据块放入该文件的内存缓冲区。 输入语句依次从该缓冲区中读取数据,在读取完该缓冲区的数据后,从输入文件中输入并放入数据块。 这样就不需要频繁地访问外部设备,从而加快了读取和写入操作的速度。

2文件指针

实际上,文件指针指向结构类型,该结构类型包括缓冲器地址、当前在缓冲器中访问的字符的位置、文件是“读取”还是“写入”、是否存在错误以及是否遇到文件结束标志等信息用户不需要知道其详细信息,所有内容都在stdio.h头文件中定义。 通常,上述结构类型名称称为FILE,定义文件类型指针变量的常见格式如下:

FILE*指针变量名

例如:

文件*fp2,*fp2;

fp1和fp2都被定义为指向称为文件指针的文件类型的指针变量。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。