?? 分類函數--c.txt
字號:
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)
本函數將源地址(segsrc:offsrc)處的numbytes個字節
復制到目標地址(segdest:offdest)
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 + -