c定义自己的文件类型|c语言中文件类型有几种

❶ C#如何自定义文件类型 并设定好写入读取方式

这个其实不复杂,文件都是二进制的,一般情况下你只需要使用二进制序列化你的存储对象,有必要的话用加密流和压缩流包装两次,读取的时候逆序包装读取就可以了。

❷ 如何用c语言创建一个自定义后缀名(如.abc)的文件,要能读写操作

文件基本操作即可实现fp=fopen("fun.abc","w");

❸ 在c语言中,如何自定义头文件

自定义头文件通常放在使用该头文件的源文件所在的目录中,专并使用#include "MyHead.h"来包含。

头文件是不编译属的,因为C语言编译过程之前有个预编译过程。在这个过程中用头文件中的内容替换源文件中“#include”命令,所以在编译器看来,没有头文件,只有源文件。预编译过程还包括条件编译。

头文件为了防止被重复包含,通常的格式是:

/* MyHead.h */

#ifndef _MYHEAD_H_

#define _MYHEAD_H_

(这里是头文件的内容)

#endif /* _MYHEAD_H_ */

拓展资料

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

❹ 在c语言中,如何自定义头文件

自定义头文件通常放在使用该头文件的源文件所在的目录中,并使用#include "MyHead.h"来包含。保存的地方和是否编译等都不是头文件决定的,头文件只是用来声明。

在c语言中,头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明(declaration),而定义文件用于保存程序的实现 (implementation)。C语言的的头文件以“.h”为后缀,而.c是程序文件。

头文件一般由四部分内容组成:头文件开头处的版权和版本声明、预处理块、inline函数的定义和函数和类结构声明等。在头文件中,用 ifndef/define/endif结构产生预处理块,用 #include 格式来引用库的头文件。

自定义头文件的方法:

1、在.h头文件中就包含函数的实现,.h文件包含以下函数:

void hello(void){printf("hello world");}

2、在.h头文件中只包含一些函数的声明,没有具体的实现。需要包含.h和.c文件,.c文件程序如下:

#include <stdio.h>

#include "test.h"

int main()

{hello();

return 0;}

(4)c定义自己的文件类型扩展阅读

C语言中,头文件的功能:

1、头文件可以定义所用的函数列表,方便查阅你可以调用的函数。

2、头文件可以定义很多宏定义,就是一些全局静态变量的定义,在这样的情况下,只要修改头文件的内容,程序就可以做相应的修改,不用到繁琐的代码内去搜索。

3、头文件只是声明,不占内存空间,要知道其执行过程,需要知道头文件所申明的函数是在哪个.c文件里定义的。

4、调用了头文件,就等于赋予了调用某些函数的权限,如果你要算一个数的N次方,就要调用Pow()函数,而这个函数是定义在math.c里面的,要用这个函数,就必需调用math.h这个头文件。

❺ C语言定义一个头文件的格式和引用它的方法

扩展名为.h的文件,在C语言中被称为header file, 也就是头文件。

头文件的数据格式就是普通的文本文件,可以通过新建文本文件(txt),再把扩展名改为.h的方式创建,在此不赘述。

一、头文件内容格式。

头文件内容并没有固定的格式要求,不过一般为防止嵌套引用给编译器带来死锁或者没必要的开销,一般约定整个头文件中所有内容在一个条件编译下,即如下格式:

#ifndef 宏名

#define 宏名

//头文件主体

#endif

这样可以保证一个头文件在一个源文件中最多只被引用一次。为避免宏名重复,宏名一般由头文件名转换而来,如果头文件名是xxx.h,那么宏名一般定义为:

_XXX_H_

即前后各加一个下划线,同时文件名中除数字、字母、下划线以外的字符均转换为下划线(_)。

头文件主体中内容同样没有做强制约定,可以出现在源文件(.c)中的任何代码均可以放在头文件中。不过一般情况下可以包括以下几种内容:

1 引用其它头文件,格式为

#include <xxx.h>

#include "xxx.h"

二者区别在介绍头文件引用时再详细介绍。

2 定义私有类型。比如

typedef unsigned long U32; //为了简写而给无符号32位整型定义一个新的名字

struct xxx {};

也可以是enum, union等复杂类型。

3 宏定义。比如

#define MAX(a,b) (a>b?a:b)

4 函数声明。比如

void test_function(void);

5 全局变量声明。比如

extern int global_var;

6 如果有一个静态全局变量需要在不同源文件中使用,但各文件之间互不相关。那么可以放在头文件中。如:

static int gs_var = 3;

7 对于支持C99规范的C编译器,还可以把内联函数定义在头文件中。比如

staticinlineintget_min(inta,intb){if(a>b)returnb;returna;}

以上是常见的头文件中的元素。但实际上头文件中也可以放全局变量的定义,全局函数的实现等。但是头文件中一旦定义了这样的元素,这个头文件在一个工程中只能被一个文件引用,否则编译器会报重复定义的错误。

比如如果有一个规模很大的常量数组,比如一副图片的二进制值,如果把它定义在源文件中,就会显得很冗余,因为并不会经常修改。 这时可以定义在头文件中,只在一个源文件中引用,当有多幅图片需要随时更换时,也可以通过简单的在源文件中修改引用的头文件名达到修改的目的。

二、头文件的引用。

头文件引用的方法其实之前已经大致说过了,在源文件中引用头文件和在头文件中引用的格式是一样的:

#include<xxx.h>或者

#include "xxx.h"

xxx为头文件名。

用<>和""是有一定的区别的。在编译器查找头文件的时候,会在两个区域分别查找。

一个是系统头文件区域,即类似于stdio.h一类的C库函数头文件区。

另一个是自定义头文件区,比如当前目录,以及其它自定义的目录。

用<>时,编译器会先在系统区域查找,然后再查找自定义区域。而用""时则相反。

由于一般并不推荐自定义头文件名与系统头文件名相同(容易引起歧义并难以维护),所以先后顺序并不是太重要,尤其在硬件速度越来越快的今天,使用哪种符号引用头文件已经差别很小了。

❻ c语言文件类型指针

c语言文件类型指针是通过FILE *fp; 这种形式进行定义的。

关于FILE结构在VC6中有如下定义:

#ifndef_FILE_DEFINEDstruct_iobuf{char*_ptr;//文件输入的下一个位置int_cnt;//当前缓冲区的相对位置char*_base;//指基础位置(即是文件的起始位置)int_flag;//文件标志int_file;//文件描述符idint_charbuf;//检查缓冲区状况,如果无缓冲区则不读取int_bufsiz;//文件缓冲区大小char*_tmpfname;//临时文件名};typedefstruct_iobufFILE;#define_FILE_DEFINED#endif

C程序用不同的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中

intfseek( FILE *fp, long offset, int whence); //移动文件指针到指定位置

void rewind(FILE *fp); //回到文件头

long ftell(FILE *fp); //得到当前文件偏移位置

fclose(fp); //关闭文件,刷新缓存到物理磁盘上

❼ c语言中文件类型有几种

主要是两种文件类型:1)文本文件,)二进制文件。一般来说,人类可读的文件都作为文本文件,例如一片文章。其余都作为二进制文件,例如一个程序。在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+ 读写打开一个二进制文件,允许读或在文件末追加数据。如果调用失败,返回一个空指针。


赞 (0)