重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

c语言的函数fat C语言的函数可以嵌套定义

C语言中,fun函数到底是干什么用的

c语言中,fun函数是用调用主函数的。

公司主营业务:成都网站建设、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出拉萨免费做网站回馈大家。

它是指用fun来定义一个函数或是方法,这样在引用时可以用fun表示。比如fun(int

x,y),

fun(int

x,y)

有上面的出现,必然在主函数里有调它,fun没有其它意思,只是在调时用到这个单词,上面的意思是调用主函数中的数值。即自定义函数。

如何用C语言实现fat32文件系统

#include stdio.h

#include stdlib.h //为了使用exit()

int main()

{

char ch;

FILE* fp;

char fname[50]; //用于存放文件名

printf("输入文件名:");

scanf("%s",fname);

fp=fopen(fname,"r"); //只供读取

if(fp==NULL) //如果失败了

{

printf("错误!");

exit(1); //中止程序

}

//getc()用于在打开文件中获取一个字符

while((ch=getc(fp))!=EOF)

putchar(ch);

fclose(fp); //关闭文件

return 0;

}

注意!初学者往往会犯一个错误,即在输入文件名时不加后缀名,请注意加上!

程序示例2[2]

#include stdio.h

FILE *stream, *stream2;

int main( void )

{

int numclosed;

// Open for read (will fail if file "crt_fopen.c" does not exist)

if( (stream = fopen( "crt_fopen.c", "r" )) == NULL ) // C4996

// Note: fopen is deprecated; consider using fopen_s instead

printf( "The file 'crt_fopen.c' was not opened\n" );

else

printf( "The file 'crt_fopen.c' was opened\n" );

// Open for write

if( (stream2 = fopen( "data2", "w+" )) == NULL ) // C4996

printf( "The file 'data2' was not opened\n" );

else

printf( "The file 'data2' was opened\n" );

// Close stream if it is not NULL

if( stream)

{

if ( fclose( stream ) )

{

printf( "The file 'crt_fopen.c' was not closed\n" );

}

}

// All other files are closed:

numclosed = _fcloseall( );

printf( "Number of files closed by _fcloseall: %u\n", numclosed );

}

c语言查fat表

以前自学FAT文件系统时写的玩具,一个VC6工程

可以加载指定分区的FAT文件系统,浏览目录和创建目录,创建文件,

带有测试程序,对真正的windows分区别做写操作,只是读取是没问题的,当时测试的时候,专门写了加载虚拟磁盘的代码来测试写。

回到你的问题看我这张图,你需要解析某个文件的绝对扇区地址。

首先你需要根据磁盘0扇区的MBR中的主分区表来查找你所指定分区的绝对扇区起始。

然后加载这个分区的BPB,这个结构带有大量的分区信息。

根据BPB,加载FileAllocationTable,和根目录Directory。

扫描根目录来找到你要的文件的目录项(DirectoryEntry)

该目录项中记录了这个文件的起始簇号。这时,你需要在FileAllocationTable里面查找这个簇的大小和绝对扇区地址。这个文件的储存不是连续的,是一个簇链,簇链中的每个簇都可以在FileAllocationTable里查到。上面的每个东西,我都已经实现了,可以在测试工程里面跑跑看。

当年写的这个工程给你玩吧,放附件里面了,可惜是C++封装的,不过注释还比较全。

如果还需要学习一些Fat文件系统的知识,可以看我以前的这个答案

c语言常用函数有哪些?主要掌握的要点是什么

函数1。absread()读磁盘绝对扇区函数原形:int absread(int drive,int num,int sectnum,void *buf)功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num个(最多64K个)扇区的内容,储存于buf所指的缓冲区中。参数:drive=0对应A盘,drive=1对应B盘。返回值:0:成功;-1:失败。头文件:dos.h函数2。abswrite()写磁盘绝对扇区函数原形:int abswrite(int drive,int nsects,int lsect,void *buffer) drive=0(A驱动器)、1(B驱动器)、 nsects=要写的扇区数(最多64K个); lsect=起始逻辑扇区号; buffer=要写入数据的内存起始地址。功能:将指定内容写入(调用DOS中断0x26)磁盘上的指定扇区,即使写入的地方是磁盘的逻辑结构、文件、FAT表和目录结构所在的扇区,也照常进行。返回值:0:成功;-1:失败。头文件:dos.h函数3。atof()将字符串转换成浮点数的函数原形:double atof(const char *s)功能:把s所指向的字符串转换成double类型。 s格式为:符号 数字.数字 E符号 数字返回值:字符串的转换值。头文件:math.h、stdlib.h函数4。atoi()将字符串转换成整型数的函数原形:int atoi(const char *s)功能:把s所指向的字符串转换成int类型。 s格式为:符号 数字返回值:字符串的转换值。若出错则返回0。头文件:stdlib.h函数5。atol()将字符串转换成长整型数的函数原形:long atol(const char *s)功能:把s所指向的字符串转换成long int类型。 s格式为:符号 数字返回值:字符串的转换值。若出错则返回0。头文件:stdlib.h函数6。bcd()把一个数转换成对应的BCD码的函数原形:bcd bcd(int x) bcd bcd(double x) bcd bcd(double x,int decimals)注意:BCD码的精度可达17位。参数decimals是可选的,用来指定转换后小数点后的位数。头文件:bcd.h函数7。bdos()原形∶int bdos(int fnum,unsigned dx,unsigned al) 其中fnum是系统调用号;dx是传给寄存器DX的值;al是传给寄存器AL的值;功能∶DOS系统调用(INT21H)返回值∶AX中的值函数8。biosdisk()调用BIOS磁盘驱动程序函数原形:char biosdisk(int cmd,int drive,int head,int track,int sector,int nsects,void *buffer)功能:使用中断0x13,直接调用BIOS进行磁盘操作参数:(1)cmd: 2-数据以每扇区512字节的格式读入buffer,起始扇区由head、track和sector定,扇区数由nsects定。 3-将buffer中的数据按每扇区512字节写入磁盘。 4-对扇区进行数据校验。 6-格式化一个磁盘并对化扇区设置化标志。 8-返回当前驱动器参数在buffer的前4个字节中。 10-长读,每扇区读入512字节加上额外的4个字节。 11-长写,每扇区写入512字节加上额外的4个字节。 (2)drive:0-第一个软驱;1-第二个软驱;0x80-第一个硬驱 (3)head:磁头 (4)track:磁道 (5)sector:扇区 (6)nsects:扇区数 (7)buffer:数据缓冲区,定义为unsigned char buffer[];返回值:0x00-操作成功 0x01-错误命令 0x03-企图写具有写保护的磁盘 0x07-驱动器参数设置错误 0x10-磁盘读/CRC/ECC错误头文件:bios.h注:对于硬盘主引导记录扇区head=0,track=0,sector=1函数9。biosprint()调用BIOS打印机I/O接口的函数原形:int biosprint(int cmd,int abyte,int port)功能:通过BIOS中断0x17在由参数port指定的打印机上完成各种打印机功能。 port=0(LPT1) =1(LPT2); cmd=0(打印字符abyte) 1(初始化打印机端口) 2(读打印机状态); abyte=0-255;返回值:打印机状态 位0(设备超时);位3(I/O出错);位4(打印机已选择);位5(没纸);位6(打印机确认);位7(不忙)头文件:bios.h函数10。calloc()分配内存函数原形:void *calloc(size_t nitems,size_t size)功能:在堆中分配一块内存,将该内存的内容全部清0。返回值:返回指向新分配内存的指针。空间不够则返回NULL。头文件:stdlib.h、calloc.h函数11。ceil()原形∶double ceil(double num)功能∶求不小于num的最小双精度整数头文件∶math.h函数12。cgets()读字符串函数原形:char *cgets(char *str)功能:从控制台读入一个字符串,并将该字符串(和字符串长度)存入有str所指向的地址中。注意:在调用cgets之前,必须将要读入的字符串最大长度存入str[0]中,返回时str[1]被设置为实际读入的字符数。实际字符串内容从str[2]开始,以空字符(\0)结尾。返回值:指向str[2]的指针。头文件:conio.h函数13。chdir()改变当前目录的函数原形:int chdir(const char *path)功能:把由path指定的目录改为当前目录。path参数中可以指定驱动器号,如"a:\\ddd", 但只是改变该驱动器上的当前目录,对当前活动驱动器上的当前目录无影响。返回值:0(成功);-1(失败)头文件:dir.h函数14。_chmod()改变文件存取权限的函数原形:int _chmod(const char *path,int func[,int attrib])功能:读取(func=0时)或设置(func=1时)DOS文件属性。 attrib=FA_RDONLY 只读 attrib=FA_HIDDEN 隐藏文件 attrib=FA_SYSTEM 系统文件 attrib=FA_LABLE 卷标 attrib=FA_DIREC 目录 attrib=FA_ARCH 档案 返回值:失败时返回-1。成功时返回文件的属性字节,如果 返回值FA_RDONLY 不等于0,则文件是只读文件;......头文件:io.h、dos.h函数15。chmod()改变文件存取权限的函数原形:int chmod(const char *path,int amode)功能:根据amode的值,设置由path所指文件的存取权限。 amode的值 存取权限 S_IWRITE 允许写 S_IREAD 允许读(只读) S_IREAD|S_IWRITE 可读可写 返回值:0(成功);-1(失败)头文件:io.h、sys\stat.h函数16。clock()原形∶long clock(void)功能∶测得从程序开始到调用处处理机所用的时间头文件∶time.h函数17。close()关闭文件函数原形:int close(int handle)功能:关闭由文件句柄所指向的文件,句柄是调用_creat、creat、creatnew、creattemp、dup、dup2、_open或open时得到的。该函数并不在文件末尾写一个Ctrl-Z字符,如果想用该字符结束文件,必须显式地给出该字符。返回值:0(成功);-1(失败)头文件:io.h函数18。closegraph()关闭图形函数原形:void far closegraph(void)功能:释放图形系统分配的所有内存,将屏幕恢复到调用initgraph之前的模式。头文件:graphics.h函数19。cos()原形∶double cos(double arg)功能∶计算arg(弧度)的余弦值头文件∶math.h函数20。ctrlbrk()设置ctrl-break处理程序的函数原形:void ctrlbrk(int(*handle)(void))功能:修改中断向量0x23,使用新的ctrl-break中断处理函数。用法:ctrlbrk(函数名); 先定义函数:int 函数名(void){...}头文件:dos.h函数21。delay()暂停函数原形:void delay(unsigned milliseconds)功能:暂停当前所执行的程序milliseconds毫秒。头文件:dos.h函数22。disable()屏蔽中断的宏原形:void disble(void)功能:屏蔽中断,只允许从外部设备来的不可屏蔽中断(NMI)。头文件:dos.h函数23。enable()开硬件中断的宏原形:void enable(void)功能:开放中断,允许接受任何设备产生的中断。头文件:dos.h函数24。exec()加载并运行其它程序的函数族execl(),execle(),execlp(),execlpe(),execv(),execve(),execvp(),execvpe()原形∶ int execl(char *path,char *arg0,*arg1,...,*argn,NULL)int execle(char *path,char *arg0,*arg1,...,*argn,NULL,char **env)int execlp(char *path,char *arg0,*arg1,...,*argn,NULL)int execlpe(char *path,char *arg0,*arg1,...,*argn,NULL,char **env)int execv(char *path,char *argv[])int execve(char *path,char *argv[],char **env)int execvp(char *path,char *argv[])int execvpe(char *path,char *argv[],char **env) 其中,path是调用的子程序的文件名,在exec后面的后缀具有某种功能: p表示函数能够在由DOS环境变量PATH的目录中搜索子进程文件,如果path中未指明文件所在目录,函数将首先在当前目录中找,然后在DOS环境变量指定的目录中找。 l表示参数指针(arg0,...,argn)按单独参数传送。当预先知道要传送的参数个数时,通常用带后缀l的函数。 v表示参数指针(arg0,...,argn)按指针数组传送。当要传送的参数可变时,使用带后缀v的函数。 e表示参数env可以传送到子进程,该函数可用来修改子进程的环境。若无e后缀,子进程将继承父进程的环境。注意:arg0+...+argn,或arg[0]+...+arg[n]的总长度必需小于128字节。当调用exec函数时,原先已经打开的文件在子进程中仍然是打开的。功能:加载并运行其它程序,调用时必须有足够的内存空间用于加载和执行子程序,子程序将覆盖父程序。头文件:process.h 函数25。farcalloc()从远堆中分配内存的函数原形:void far *farcalloc(unsigned long nunits,unsigned long unitsz)功能:从远堆中为包含nunits个元素的数组分配内存,每一区unitsz字节长。用法:fptr=farcalloc(数目,sizeof(char)); 先定义:char far *fptr;注意:所有可用RAM能被分配;大于64K的块能被分配;用远指针存取该块。微模式不能用。返回值:返回指向新分配块的指针,若内存不够,则返回NULL。头文件:alloc.h函数26。farfree()从远堆中释放一块已分配内存的函数原形:void farfree(void far *block)头文件:alloc.h函数27。farmalloc()从远堆中分配内存的函数原形:void far *farmalloc(unsigned long nbytes)使用方式:fptr=farmalloc(字节数); 先定义char far *fptr;功能:从远堆中分配长nbytes字节的内存。注意:所有可用RAM能被分配;大于64K的块能被分配;用远指针存取该块。微模式不能用。返回值:返回指向新分配内存的指针,若内存不够,则返回NULL。头文件:alloc.h函数28。farrealloc()调整远堆中已分配块的函数原形:void far *farrealloc(void far *oldblock,unsigned long nbytes)返回值:返回调整后的新内存地址。若不能重新分配,则返回NULL。头文件:alloc.h函数29。fclose()关闭一个流函数原形:int fclose(FILE *stream)使用方式:fclose(文件指针名);其中文件指针名=fopen();功能:关闭指定的流,关闭前清除所有与stream相联的缓冲区,释放系统分配的缓冲区,但由setbuf设置的缓冲区不能自动释放。返回值:0(成功);EOF(失败)头文件:stdio.h函数30。fcloseall()关闭打开的流的函数原形:int fcloseall(void)功能:关闭所有打开的流,由stdin、stdout、stdprn、stderr和stdaux设置的流除外。返回值:关闭流的总数。如果发现错误则返回EOF。头文件:stdio.h 函数31。feof()检查文件是否结束的函数原形∶int feof(FILE *fp)返回值∶文件结束返回非0值,否则返回0。头文件∶stdio.h函数32。fgets()从流中读取一字符串的函数原形:char *fgets(char s[],int n,FILE *stream)使用格式:fgets(字符串指针,字符个数,文件指针)功能:从输入流stream中读入字符存到s串中。当读了n-1个字符或遇到换行符时,函数停止读过程。fgets在s串尾保留换行字符。读入的最后一个字符后面加一个空字符。返回值:成功时返回字符串参数s,出错或遇到文件结束时,返回NULL。头文件:stdio.h函数33。findfirst()函数和findnext()函数调用方式:整形数=findfirst(文件名,结构变量名,属性常数组合(如0x26));其中定义struct ffblk 结构变量名;原形:int findfirst(path,buffer,attr)和int findnext(buffer) char *path;//要检索的文件名 struct ffblk { char ff_reserved[21]; char ff_attrib;//被检索的文件属性 unsigned ff_ftime;//最后修改的时间 //(0-4位:秒数/2;5-10位:分数;11-15位:小时数) unsigned ff_fdate;//最后修改的日期 //(0-4位:日;5-8位:月;9-15位:年减1980) long ff_fsize;//文件大小 char ff_name[13];//组名 }*buffer; int attr;//要检索的文件属性功能:检索由path和attr指定的文件,把结果返回到buffer。findfirst返回关于第一个指定文件的信息,findnext继续检索。返回值:0(检索成功),-1(没有找到指定的文件)属性常数: FA_NORMAL(0x00) 含意:Normal file, no attributes FA_RDONLY(0x01) 含意:只读 FA_HIDDEN(0x02) 含意:隐含文件 FA_SYSTEM(0x04) 含意:系统文件 FA_LABEL(0x08) 含意:卷标 FA_DIREC(0x10) 含意:子目录 FA_ARCH(0x20) 含意:修改的文件Archive头文件:dir.h(dos.h)函数34。floodfill()填充区域的函数原形:void far floodfill(int x,int y,int border)功能:在图形设备上用颜色border围起来的区域将用当前填充颜色填充。(x,y)是待填充区域的起点,若起点在封闭区域内,则区域内被填充;若起点在封闭区域外,则区域外被填充。头文件:graphics.h函数35。floor()原形∶double floor(double num)功能∶求不大于num的最大双精度整数头文件∶math.h函数36。fnmerge()建立文件路径函数原形:void fnmerge(char *path,const char *drive,const char *dir, const char *name,const char *ext)功能:合成drive:\dir\name.ext,放在path头文件:dir.h函数37。fnsplit()分解完整的路径名函数原形:int fnsplit(char *path,const char *drive,const char *dir,const char *name,const char *ext)功能:把文件名路径path分成4个部分存放。 其中drive中有冒号;dir中有开始和结尾的反斜杠;ext包括开始圆点返回值:如果有扩展名,则 返回值EXTENSION!=0 如果有文件名,则 返回值FILENAME!=0 如果有目录名,则 返回值DIRECTORY!=0 如果有驱动器号,则返回值DIRVE!=0头文件:dir.h 函数38。fopen()打开一个流函数原形:FILE *fopen(const char *filename,const char *mode)功能:打开用filename指定的文件,并使其与一个流相联。使用方式:文件指针名=fopen("文件名","处理方式") ”处理方式”取: "rt" 打开一个文本文件,只能读。 "wt" 生成一个文本文件,只能写。若文件存在则被重写。 "at" 打开一个文本文件,只能在文件尾部添加。 "rb" 打开一个二进制文件,只能读。 "wb" 生成一个二进制文件,只能写。 "ab" 打开一个二进制文件,只能在文件尾部添加。 "rt+" 打开一个文本文件,可读可写。 "wt+" 生成一个文本文件,可读可写。 "at+" 打开一个文本文件,可读可添加。 "rb+" 打开一个二进制文件,可读可写。 "wb+" 生成一个二进制文件,可读可写。 "ab+" 打开一个二进制文件,可读可添加。返回值:指明流的指针(成功时)或NULL(失败时)注:需先定义 FILE *文件指针名; "文件名"若用 argv[1]代替,则可使用命令行形式指定文件名函数39。FP_OFF()获取远地址偏移量的宏原形:unsigned FP_OFF(void far *p)功能:取得和设置远指针*p的偏移量返回值:偏移量头文件:dos.h 函数40。fprintf()传送输出到一个流中的函数原形:int fprintf(FILE *stream,const char *format[,argument,...])功能:①向文件指针指向的文件输出ASCⅡ代码 ②向显示器输出错误信息 使用形式: ①fprintf(文件指针,"输出格式",输出项系列); ②fprintf(stderr,"错误信息");使用实例:fprintf(stream,"%d %c %f",i,c,f); 其中定义FILE *stream; int i; char c; float f;返回值:成功则返回输出的字节数,错误则返回EOF。头文件:stdio.h函数41。FP_SEG()获取远地址段值的宏原形:unsigned FP_SEG(void far *p)功能:取得和设置远指针*p段地址值返回值:段地址值头文件:dos.hfree()释放已分配内存的函数原形:void free(void *block)功能:释放由calloc、malloc、realloc函数调用所分配的内存。头文件:stdlib.h、alloc.h函数42。fscanf()格式化输入函数原形:int fscanf(FILE *stream,const char *format[,address,...])功能:从一个流中扫描输入字段,一次扫描一个字符,每个输入字段根据format所指格式指示符格式化后,把输入字段存在format后面由地址参数给出的位置上。使用格式:fscanf(文件指针,"输入格式",输入项系列);使用实例:fscanf(fp,"%d",b); 从fp指向的文件中读取十进制整数 (ASCⅡ形式)赋予变量b注:当文件指针是stdin时,与scanf功能完全相同头文件:stdio.h函数43。fseek()移动文件指针函数原形:int fseek(FILE *stream,long offset,int whence)作用:强制一个文件的位置指针指向某个特定的位置(甚至超出文件的尾部)。使用格式:fseek(*文件指针,偏移(长整型),起点) 定义 FILE *文件指针名; "起点"取值: 0或SEEK_SET(表示文件开头) 1或SEEK_CUR(表示当前位置) 2或SEEK_END(表示文件尾端)返回值:0表示成功,非0值表示失败头文件:stdio.h函数44。fwrite()把参数写入流中的函数原形:size_t fwrite(const void *ptr,size_t size,size_t n,FILE *stream)功能:附加n个数据项(每个数据项长度为size个字节)到指定的输出文件后,数据从ptr处开始添加。ptr是指向任意对象的指针。返回值:调用成功时返回实际写的数据项数,出错时返回一短整形数值。头文件:stdio.h例:fwrite(s,sizeof(s),1,stream); 其中s是一结构变量,stream=fopen();函数45。gcvt()把双精度数转化成字符串的函数原形∶char*gcvt(value,ndigit,buf) 其中∶double value是待转化数 int ndigit是转化长度 char *buf保存转化后的地址头文件∶stdlib.h函数46。geninterrupt()执行中断函数原形:void geninterrupt(int n)调用方式:geninterrupt(软中断号)功能:产生一个8086软中断注:需先向寄存器传递入口信息(用伪变量) 例如 伪变量=要赋的值(入口信息); 调用geninterrupt()函数后得接受出口信息 例如 变量名=伪变量伪变量∶Turbo C 允许使用伪变量直接访问相应的8086寄存器。伪变量的类型有两种。 ① unsigned int : _AX、 _BX、 _CX、 _DX、 _CS、 _DS、 _SS、 _ES、_SP、 _BP、 _DI、 _SI ② unsigned char: _AL、 _AH、 _BL、 _BH、 _CL、 _CH、 _DL、 _DH函数47。getc()从流中取字符的宏原形:int getc(FILE *stream)功能:返回输入流stream中一个字符,移动文件指针使之指向下一个字符。使用格式:字符变量=getc(文件指针) (正常情况下读取到代码值,读到文件尾或出错时返回EOF)注:需定义 char 字符变量;FILE *文件指针;头文件:stdio.h函数48。getch()从键盘无回显地读取一字符的函数功能:将键盘上输入的单个字符的值(ASCⅡ 码)立刻赋给字符型变量调用方式:字符形变量=getch()注:需先定义 char 字符形变量;头文件:conio.h函数49。getchar()从stdin流中读取一个字符的函数功能:将键盘上输入的单个字符的值(ASCⅡ 码)回车后赋给字符型变量调用方式:字符型变量=getchar()注:需先定义 char 字符型变量;头文件:stdio.h函数50。getcurdir()读取指定驱动器的当前目录的函数原形:int getcurdir(int drive,char directory) drive=0(缺省);1(A驱动器);... directory用来存放目录名,不包括驱动器名,不以反斜杠开始。返回值:0(调用成功);1(出错)头文件:dir.h函数61。getcwd()读取当前目录的函数原形:char *getcwd(char *buf,int buflen)功能:读取当前目录的完整路径名(包括驱动器名),最长为buflen个字节,存放在buf中。如果buf为NULL,函数将分配一个buflen字节长的缓冲区,以后可将本函数的返回值作为free函数的参数来释放该缓冲区。返回值:若buf非空,调用成功返回buf,出错返回NULL;若buf为NULL,返回指向已经分配的内存缓冲区地址。头文件:dir.h函数62。getdate()读取系统日期函数原形:void getdate(pdate) struct date { int da_year; int da_day; int da_mon; }; struct date *pdate;头文件:dos.h函数63。getdfree()读取磁盘空闲空间的函数原形:void getdfree(drive,dtable) unsigned char drive;驱动器号(0-当前;1-A;2-B;...) struct dfree { unsigned df_avail;//可使用的簇数 unsigned df_total;//每个驱动器的簇数 unsigned df_bsec;//每个扇区的字节数 unsigned df_sclus;//每个簇的扇区数(出错时返回0xffff) }*dtable;功能:把由drive指定的关于驱动器的信息返回到dtable函数64。getdisk()读取当前磁盘驱动器号函数原形:int getdisk(void)功能:取得当前驱动器号(0=A;1=B;....)头文件:dir.h函数65。getenv()读取环境变量的当前值的函数原形:char *getenv(const char *name)用法:s=getenv("环境变量名"); 需先定义char *s;功能:返回一给定的环境变量值,环境变量名可大写或小写。如果指定的变量在环境中未定义,则返回一空串。 头文件:stdlib.h函数66。getimage()将指定区域的位图象存入内存的函数原形:void far getimage(int left,int top,int right,int bottom,void far *bitmap)功能:将图像(矩形区域)从屏幕拷贝到内存,*bitmap指向内存中存放图像的区域。该区域的前两个字节用于存放矩形的高和宽。头文件:graphics.h函数67。getmaxx()返回屏幕上最大的X坐标值的函数原形:int far getmaxx(void)功能:返回当前图形驱动程序和图形模式下最大的X坐标值。头文件:graphics.h函数68。getmaxy()返回屏幕上最大的Y坐标值的函数原形:int far getmaxy(void)功能:返回当前图形驱动程序和图形模式下最大的Y坐标值。头文件:graphics.h函数69。getpixel()读取像素颜色的函数原形:unsigned far getpixel(int x,int y)头文件:graphics.h函数70。getpsp()原形∶unsigned getpsp(void)功能∶使用DOS系统调用0x62,返回程序段前缀(PSP)的段地址头文件∶dos.h函数71。gets()从标准输入流stdio中读取一字符串的函数功能:将键盘上输入的字符串立刻赋予字符串变量并显示出来调用方式:gets(字符串变量名)注:需定义 char *字符串变量名;函数72。gettime()读取系统时间的函数原形:void gettime(ptime) struct time { unsigned char ti_min; unsigned char ti_hour; unsigned char ti_hund;//百分之一秒 unsigned char ti_sec; }; struct time *ptime;函数73。getvect()读取中断向量函数原形:void interrupt(*getvect(int interruptno))功能:读入由interruptno(0-255之间)所指定的中断向量值,并把该中断向量值作为中断函数的远指针返回。返回值:指定中断向量的当前4字节值。头文件:dos.h使用实例:oldfunc=getvect(5); 先定义void interrupt(*oldfunc)(); 用后恢复setvect(5,oldfunc);函数74。getx()返回当前图形方式下位置的X坐标值的函数原形:int far getx(void);头文件:graphics.h函数75。gety()返回当前图形方式下位置的Y坐标值的函数原形:int far gety(void);头文件:graphics.h函数76。imagesize()返回保存图像缓冲区大小的函数原形:unsigned far imagesize(int left,int top,int right,int bottom)功能:确定保存图像所需的存储区大小。返回值:返回存储区的大小(字节),若所需内存大于等于64K-1字节,则返回0xffff(-1)。头文件:graphics.h函数77。initgraph()显示模式控制函数(初始化图形系统函数)功能:把图形适配器设置为一种图形模式,将选择的图形驱动程序(在BGI文件中)装入到内存。调用方式: void far initgraph(int far *driver,int far *mode,char far*path) 其中: *driver可以是数值(0-10),也可是符号值(DETECT、CGA、MCGA、EGA、EGA64、EGAMONO、RESERVED、HERCMONO、ATT400、VGA、 PC3270)。 *mode参数从图形系统为各种常用的图形适配器设置的图形模式中(CGAC0、...、IBM8514HI--见头文件graphics.h)选取。常用的有:VGAMED或1

C语言常用的函数有哪些

C语言库函数,常用库函数有:

1、scanf格式输入函数

2、printf格式输出函数

3、systemdos命令函数

4、sort排序

5、main主函数

6、fgets文件读取字符串函数

7、fputs文件写入字符串函数

8、fscanf文件格式读取函数

9、fprintf文件格式写入函数

10、fopen打开文件函数

11、getchar输入字符函数

12、putchar输出字符函数

13、malloc动态申请内存函数

14、free释放内存函数

15、abs求绝对值数学函数

16、sqrt求平方根数学函数

扩展资料

语言组成:

1、数据类型

C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

2、常量与变量

常量其值不可改变,符号常量名通常用大写。

变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。

3、数组

如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。

4、指针

如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。

参考资料来源:百度百科-函数

C语言中的标准函数有哪些

C语言输入输出函数有很多,标准I/O函数中包含了如下几个常用的函数:

scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.

int getc(FILE *fp)

getc主要是从文件中读出一个字符.常用的判断文件是否读取结束的语句为 (ch = getc(fp)) != EOF.EOF为文件结束标志,定义在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定义在stdlib.h中一样,文件也可以被理解为一种流,所以当fp为stdin时,getc(stdin)就等同于getchar()了.

int putc(int ch,FILE *fp)

putc主要是把字符ch写到文件fp中去.如果fp为stdout,则putc就等同于putchar()了.

int getchar(void)

getchar主要是从标准输入流读取一个字符.默认的标准输入流即stdio.h中定义的stdin.但是从输入流中读取字符时又涉及到缓冲的问题,所以并不是在屏幕中敲上一个字符程序就会运行,一般是通过在屏幕上敲上回车键,然后将回车前的字符串放在缓冲区中,getchar就是在缓冲区中一个一个的读字符.当然也可以在while循环中指定终止字符,如下面的语句:while ((c = getchar()) != '#')这是以#来结束的.

int putchar(int ch)

putchar(ch)主要是把字符ch写到标准流stdout中去.

char * gets(char *str)

gets主要是从标准输入流读取字符串并回显,读到换行符时退出,并会将换行符省去.

int puts(char *str)

puts主要是把字符串str写到标准流stdout中去,并会在输出到最后时添加一个换行符.

char *fgets(char *str, int num, FILE *fp)

str是存放读入的字符数组指针,num是最大允许的读入字符数,fp是文件指针.fgets的功能是读一行字符,该行的字符数不大于num-1.因为fgets函数会在末尾加上一个空字符以构成一个字符串.另外fgets在读取到换行符后不会将其省略.

int fputs(char *str, file *fp)

fputs将str写入fp.fputs与puts的不同之处是fputs在打印时并不添加换行符.

int fgetc(FILE *fp)

fgetc从fp的当前位置读取一个字符.

int fputc(int ch, file *fp)

fputc是将ch写入fp当前指定位置.

int fscanf(FILE *fp, char *format, 输入列表)

fscanf按照指定格式从文件中出读出数据,并赋值到参数列表中.

int fprintf(FILE *fp, char *format, 输出列表)

fprintf将格式化数据写入流式文件中.

数据块读写函数

fread (buffer,size,count,fp);

fwrite(buffer,size,count,fp);

参数说明:

buffer:是一个指针。

对fread 来说,它是读入数据的存放地址。

对fwrite来说,是要输出数据的地址(均指起始地址)。

size: 要读写的字节数。

count: 要进行读写多少个size字节的数据项。

fp: 文件型指针。


网页题目:c语言的函数fat C语言的函数可以嵌套定义
转载来于:http://cqcxhl.com/article/hjgosj.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP