⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c语言函数大全.txt

📁 C语言所有函数
💻 TXT
📖 第 1 页 / 共 4 页
字号:
│ 4 │ScrollLock灯亮 │ScrollLock灯熄 │ 
│ 3 │Alt按下 │Alt未按下 │ 
│ 2 │Ctrl按下 │Ctrl未按下 │ 
│ 1 │左Shift按下 │左Shift未按下 │ 
│ 0 │右Shift按下 │右Shift未按下 │ 
└──┴───────────┴───────────┘ 
int biosmemory() 返回内存大小,以K为单位. 
int biosprint(int cmd,int byte,int port) 控制打印机的输入/输出. 
port为打印机号,0为LPT1,1为LPT2,2为LPT3等 
cmd可以为以下值: 
0 打印字符,将字符byte送到打印机 
1 打印机端口初始化 
2 读打印机状态 
函数返回值由以下位值组成表示当前打印机状态 
0x01 设备时间超时 
0x08 输入/输出错误 
0x10 选择的 
0x20 走纸 
0x40 认可 
0x80 不忙碌 

int biostime(int cmd,long newtime)计时器控制,cmd为功能号,可为以下值 

0 函数返回计时器的当前值 
1 将计时器设为新值newtime 

struct country *country(int countrycmode,struct country *countryp) 
本函数用来控制某一国家的相关信息,如日期,时间,货币等. 
若countryp=-1时,当前的国家置为countrycode值(必须为非0).否则,由countryp所指向的country结构用下列的国家相关信息填充: 
(1)当前的国家(若countrycode为0或2)由countrycode所给定的国家. 
结构country定义如下: 
┌────────────────────┐ 
│struct country │ 
│{ │ 
│ int co_date; /*日期格式*/ │ 
│ char co_curr[5]; /*货币符号*/ │ 
│ char co_thsep[2]; /*数字分隔符*/ │ 
│ char co_desep[2]; /*小数点*/ │ 
│ char co_dtsep[2]; /*日期分隔符*/ │ 
│ char co_tmsep[2]; /*时间分隔符*/ │ 
│ char co_currstyle; /*货币形式*/ │ 
│ char co_digits; /*有效数字*/ │ 
│ int (far *co_case)(); /*事件处理函数*/ │ 
│ char co_dasep; /*数据分隔符*/ │ 
│ char co_fill[10]; /*补充字符*/ │ 
│} │ 
└────────────────────┘ 
co_date的值所代表的日期格式是: 
0 月日年 1 日月年 2 年月日 
co_currstrle的值所代表的货币显示方式是 
0 货币符号在数值前,中间无空格 
1 货币符号在数值后,中间无空格 
2 货币符号在数值前,中间有空格 
3 货币符号在数值后,中间有空格 

操作函数,所在函数库为string.h、mem.h 
mem…操作存贮数组 
void *memccpy(void *destin,void *source,unsigned char ch,unsigned n) 
void *memchr(void *s,char ch,unsigned n) 
void *memcmp(void *s1,void *s2,unsigned n) 
int memicmp(void *s1,void *s2,unsigned n) 
void *memmove(void *destin,void *source,unsigned n) 
void *memcpy(void *destin,void *source,unsigned n) 
void *memset(void *s,char ch,unsigned n) 

这些函数,mem…系列的所有成员均操作存贮数组.在所有这些函数中,数组是n字节长. 
memcpy从source复制一个n字节的块到destin.如果源块和目标块重迭,则选择复制方向, 以例正确地复制覆盖的字节. 
memmove与memcpy相同. memset将s的所有字节置于字节ch中.s数组的长度由n给出. 
memcmp比较正好是n字节长的两个字符串s1和s2.些函数按无符号字符比较字节,因此, 
memcmp("0xFF","\x7F",1)返回值大于0. memicmp比较s1和s2的前n个字节,不管字符大写或小写. 
memccpy从source复制字节到destin.复制一结束就发生下列任一情况: 
(1)字符ch首选复制到destin. 
(2)n个字节已复制到destin. 
memchr对字符ch检索s数组的前n个字节. 
返回值:memmove和memcpy返回destin 
memset返回s的值 
memcmp和memicmp─┬─若s1<s2返回值小于0 
├─若s1=s2返回值等于0 
└─若s1>s2返回值大于0 
memccpy若复制了ch,则返回直接跟随ch的在destin中的字节的一个指针; 

否则返回NULL 
memchr返回在s中首先出现ch的一个指针;如果在s数组中不出现ch,就返回NULL. 

void movedata(int segsrc,int offsrc, int segdest,int offdest, unsigned numbytes) 
本函数将源地址(segsrcffsrc)处的numbytes个字节复制到目标地址(segdestffdest) 
void movemem(void *source,void *destin,unsigned len) 
本函数从source处复制一块长len字节的数据到destin.若源地址和目标地址字符串重迭,则选择复制方向,以便正确的复制数据. 
void setmem(void *addr,int len,char value) 
本函数把addr所指的块的第一个字节置于字节value中. 

str…字符串操作函数 
char stpcpy(char *dest,const char *src) 将字符串src复制到dest 
char strcat(char *dest,const char *src) 将字符串src添加到dest末尾 
char strchr(const char *s,int c) 检索并返回字符c在字符串s中第一次出现的位置 
int strcmp(const char *s1,const char *s2) 比较字符串s1与s2的大小,并返回s1-s2 
char strcpy(char *dest,const char *src) 将字符串src复制到dest 
size_t strcspn(const char *s1,const char *s2) 扫描s1,返回在s1中有,在s2中也有的字符个数 
char strdup(const char *s) 将字符串s复制到最近建立的单元 
int stricmp(const char *s1,const char *s2) 比较字符串s1和s2,并返回s1-s2 
size_t strlen(const char *s) 返回字符串s的长度 
char strlwr(char *s) 
将字符串s中的大写字母全部转换成小写字母,并返回转换后的字符串 
char strncat(char *dest,const char *src,size_t maxlen) 
将字符串src中最多maxlen个字符复制到字符串dest中 
int strncmp(const char *s1,const char *s2,size_t maxlen) 
比较字符串s1与s2中的前maxlen个字符 
char strncpy(char *dest,const char *src,size_t maxlen) 
复制src中的前maxlen个字符到dest中 
int strnicmp(const char *s1,const char *s2,size_t maxlen) 
比较字符串s1与s2中的前maxlen个字符 
char strnset(char *s,int ch,size_t n) 
将字符串s的前n个字符置于ch中 
char strpbrk(const char *s1,const char *s2) 
扫描字符串s1,并返回在s1和s2中均有的字符个数 
char strrchr(const char *s,int c) 
扫描最后出现一个给定字符c的一个字符串s 
char strrev(char *s) 
将字符串s中的字符全部颠倒顺序重新排列,并返回排列后的字符串 
char strset(char *s,int ch) 
将一个字符串s中的所有字符置于一个给定的字符ch 
size_t strspn(const char *s1,const char *s2) 
扫描字符串s1,并返回在s1和s2中均有的字符个数 
char strstr(const char *s1,const char *s2) 
扫描字符串s2,并返回第一次出现s1的位置 
char strtok(char *s1,const char *s2) 
检索字符串s1,该字符串s1是由字符串s2中定义的定界符所分隔 
char strupr(char *s) 
将字符串s中的小写字母全部转换成大写字母,并返回转换后的字符串 

存贮分配子程序,所在函数库为dos.h、alloc.h、malloc.h、stdlib.h、process.h 
int allocmem(unsigned size,unsigned *seg) 
利用DOS分配空闲的内存, size为分配内存大小,seg为分配后的内存指针 
int freemem(unsigned seg) 
释放先前由allocmem分配的内存,seg为指定的内存指针 
int setblock(int seg,int newsize) 
本函数用来修改所分配的内存长度, seg为已分配内存的内存指针,newsize为新的长度 
int brk(void *endds) 
本函数用来改变分配给调用程序的数据段的空间数量,新的空间结束地址为endds 
char *sbrk(int incr) 
本函数用来增加分配给调用程序的数据段的空间数量,增加incr个字节的空间 
unsigned long coreleft() 本函数返回未用的存储区的长度,以字节为单位 
void *calloc(unsigned nelem,unsigned elsize) 
分配nelem个长度为elsize的内存空间并返回所分配内存的指针 
void *malloc(unsigned size) 分配size个字节的内存空间,并返回所分配内存的指针 
void free(void *ptr) 释放先前所分配的内存,所要释放的内存的指针为ptr 
void *realloc(void *ptr,unsigned newsize) 
改变已分配内存的大小,ptr为已分配有内存区域的指针,newsize为新的长度,返回分配好的内存指针. 
long farcoreleft() 本函数返回远堆中未用的存储区的长度,以字节为单位 
void far *farcalloc(unsigned long units,unsigned long unitsz) 
从远堆分配units个长度为unitsz的内存空间,并返回所分配内存的指针 
void *farmalloc(unsigned long size) 
分配size个字节的内存空间, 并返回分配的内存指针 
void farfree(void far *block) 
释放先前从远堆分配的内存空间, 所要释放的远堆内存的指针为block 
void far *farrealloc(void far *block,unsigned long newsize) 
改变已分配的远堆内存的大小,block为已分配有内存区域的指针,newzie为新的长度,返回分配好的内存指针 

时间日期函数,函数库为time.h、dos.h 
在时间日期函数里,主要用到的结构有以下几个: 
总时间日期贮存结构tm 
┌──────────────────────┐ 
│struct tm │ 
│{ │ 
│ int tm_sec; /*秒,0-59*/ │ 
│ int tm_min; /*分,0-59*/ │ 
│ int tm_hour; /*时,0-23*/ │ 
│ int tm_mday; /*天数,1-31*/ │ 
│ int tm_mon; /*月数,0-11*/ │ 
│ int tm_year; /*自1900的年数*/ │ 
│ int tm_wday; /*自星期日的天数0-6*/ │ 
│ int tm_yday; /*自1月1日起的天数,0-365*/ │ 
│ int tm_isdst; /*是否采用夏时制,采用为正数*/│ 
│} │ 
└──────────────────────┘ 
日期贮存结构date 
┌───────────────┐ 
│struct date │ 
│{ │ 
│ int da_year; /*自1900的年数*/│ 
│ char da_day; /*天数*/ │ 
│ char da_mon; /*月数 1=Jan*/ │ 
│} │ 
└───────────────┘ 
时间贮存结构time 
┌────────────────┐ 
│struct time │ 
│{ │ 
│ unsigned char ti_min; /*分钟*/│ 
│ unsigned char ti_hour; /*小时*/│ 
│ unsigned char ti_hund; │ 
│ unsigned char ti_sec; /*秒*/ │ 
│ │ 
└────────────────┘ 
char *ctime(long *clock) 
本函数把clock所指的时间(如由函数time返回的时间)转换成下列格式的字符串: 
Mon Nov 21 11:31:54 1983\n\0 
char asctime(struct tm *tm) 
本函数把指定的tm结构类的时间转换成下列格式的字符串: 
Mon Nov 21 11:31:54 1983\n\0 
double difftime(time_t time2,time_t time1) 
计算结构time2和time1之间的时间差距(以秒为单位) 
struct tm *gmtime(long *clock) 
本函数把clock所指的时间(如由函数time返回的时间)转换成格林威治时间,并以tm结构形式返回 
struct tm *localtime(long *clock) 
本函数把clock所指的时间(如函数time返回的时间)转换成当地标准时间,并以tm结构形式返回 
void tzset()本函数提供了对UNIX操作系统的兼容性 
long dostounix(struct date *dateptr,struct time *timeptr) 
本函数将dateptr所指的日期,timeptr所指的时间转换成UNIX格式, 并返回自格林威治时间1970年1月1日凌晨起到现在的秒数 
void unixtodos(long utime,struct date *dateptr,struct time *timeptr) 
本函数将自格林威治时间1970年1月1日凌晨起到现在的秒数utime转换成DOS格式并保存于用户所指的结构dateptr和timeptr中 
void getdate(struct date *dateblk) 
本函数将计算机内的日期写入结构dateblk中以供用户使用 
void setdate(struct date *dateblk) 
本函数将计算机内的日期改成由结构dateblk所指定的日期 
void gettime(struct time *timep) 
本函数将计算机内的时间写入结构timep中, 以供用户使用 
void settime(struct time *timep) 
本函数将计算机内的时间改为由结构timep所指的时间 
long time(long *tloc) 
本函数给出自格林威治时间1970年1月1日凌晨至现在所经过的秒数,并将该值存于tloc所指的单元中. 
int stime(long *tp)本函数将tp所指的时间(例如由time所返回的时间)写入计算机中 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -