THƯ VIN TIME.H
Các ñi tưng kiu struct tm ñưc s dng ñ lưu tr ngày tháng và thi gian.
struct tm
{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year; //year since 1900
int tm_wday; //days since Sunday
int tm_yday; //days since 1 January: [0,365]
int tm_isdst; //daylight saving time flag
}
C tm_isdst là s dương (+) nu daylight saving time có tác dng, bng 0 nu không có, là s âm (-) nu không
có thông tin.
Mã quy cách Ý nghĩa
%a Tên ngày trong tun vit tt
%A Tên ngày trong tun ñy ñ
%b Tên tháng vit tt
%B Tên tháng ñy ñ
%c Date và time
%d Ngày trong tháng
%H Gi trong ngày, 24 gi
%h Gi trong ngày, 12 gi
%j Ngày trong năm
%m Tháng
%M Phút sau gi
%p AM hay PM
%s Giây trong gi
%U Tun trong năm
%w Ngày trong tun (0-6)
%x Date
%X Time
%y Năm trong th k
%Y Năm
%Z Múi gi
%% Ký t %
Truy nhp vào ñng h
clock_t clock (void);
ðây là s xung ñng h ca máy. Mun tính ra giây, ta ñem chia vi CLOCK_PER_SEC. Nu to xung ñng h
ca CPU không có, hàm tr li giá tr 1.
Truy nhp vào thi gian
double difftime (time_t t0, time_t t1);
char *asctime (const struct tm *tp);
size_t strftime (char *s, size_t n, const char *cntrl_str, const struct tm*tp);
structtm *gmtime (const time_t *t_ptr);
struct tm *localtime (const time_t *t_ptr);
time_t mktime (struct tm *tp);
time_t time (time_t *timer); nhn thi gian h thng quy ra giây
void getdate (struct date *datep); nhn ngày h thng
void setdate (struct date *datep); thit lp ngày h thng
void gettime (struct time *timep); nhn gi h thng
void settime (struct time *timep); thit lp gi h thng
THƯ VIN STRING.H
Các hàm qun lý b nh
int memcmp (const void *s1, const void *s2, size_t n); so sánh n byte trong 2 chui s1, s2 (phân bit ch hoa, ch
thưng)
Nu giá tr tr v >0 thì chui s1 > chui s2
Nu giá tr tr v <0 thì chui s2 < chui s1
Nu giá tr tr v =0 thì chui s2 ging chui s1
int memicmp (const void *s1, const void *s2, size_t n); so sánh n byte trong 2 chui s1, s2 (không phân bit ch
hoa, ch thưng)
Nu giá tr tr v >0 thì chui s1 > chui s2
Nu giá tr tr v <0 thì chui s2 < chui s1
Nu giá tr tr v =0 thì chui s2 ging chui s1
void *memchr (const void *s, int c, size_t n); tìm ký t c trong n byte ñu ca vùng s, nu tìm thy, hàm tr v ña
ch ca byte ch a ký t c ñu tiên trong s, trái li, tr v NULL
void *memccpy (void *dest, const void *src, int c, size_t n); sao chép các ký t t! vùng src sang vùng dest, vic
sao chép kt thúc khi g"p ký t c ho"c ñã sao chép ñ n ký t
void *memcpy (void *dest, const void *src, size_t n); sao chép n ký t t! vùng src sang vùng dest, hàm cho li
ña ch vùng dest
void *memmove (void *dest, const void *src, size_t n);
void *memset (void *s, int c, size_t n); gi ký t c vào n byte ñu ca chui s, hàm tr li ña ch chui s
void movedata (unsigned srcseg, unsigned srcoff, unsigned destseg, unsigned destoff, size_t n); sao chép n byte t!
phân ñon srcseg:srcoff ñn ña ch destseg:destoff
Các hàm qun lý xâu ký t
char *gets (char *s); nhp chui
char *puts (char *s); xut chui
char *strcat (char *s1, const char *s2); ghép chui s2 vào ñuôi chui s1
char *strchr (const char *s, int c); tìm ký t c trong chui s (bt ñu t! bên trái), không có tr v NULL
char *strcpy (char *s1, const char *s2); sao chép ni dung trong s2 vào trong s1
char *strdup (const char *s); gp ñôi chui s
char *strerror (int error_number);
char *strlwr (char *s); ñ#i chui s thành ch thưng
char *strncat (char *s1, const char *s2, size_t n);
char *strncpy (char *s1, const char *s2, size_t n); sao chép ti ña n ký t ñu ca chui s2 vào trong s1
char *strnset (char *s, int c, int n); gán n ln ký t c vào trong chui s
char *strpbrk (const char *s1, const char *s2); tìm ln xut hin ñu tiên ca mt ký t thuc s2 trong s1, nu có,
hàm cho ña ch ca ký t tìm thy trong s1, trái li, hàm cho NULL
char *strrchr (const char *s, int c); tìm ký t c trong chui s (bt ñu t! bên phi), không có tr v NULL
char *strrev (char *s); ño ngưc các ký t trong chui s
char *strset (char *s, int c); ñ"t ký t c vào m$i v trí trong chui s (thay các ký t trong s bng c)
char *strstr (const char *s1, const char *s2); tìm chui s2 trong chui s1, tr v v trí chui s2 trong chui s1
char *strtok (char *s1, const char *s2);
char *strupr (char *s); ñ#i chui s thành ch hoa
int strcmp (const char *s1, const char *s2); tr v kt qu so sánh 2 chui s1 và s2, không phân bit ch hoa, ch
thưng ca cùng mt ký t
Nu giá tr tr v >0 thì chui s1 ch a chui s2
Nu giá tr tr v <0 thì chui s2 ch a chui s1
Nu giá tr tr v =0 thì chui s2 ging chui s1
int strcoll (const char *s1, const char *s2);
int stricmp (const char *s1, const char *s2); tr v kt qu so sánh 2 chui s1 và s2, phân bit ch hoa, ch thưng
ca cùng mt ký t
Nu giá tr tr v >0 thì chui s1 ch a chui s2
Nu giá tr tr v <0 thì chui s2 ch a chui s1
Nu giá tr tr v =0 thì chui s2 ging chui s1
int strncmp (const char *s1, const char *s2, size_t n); so sánh n ký t ñu tiên ca chui s1 và s2
int strnicmp (const char *s1, const char *s2, size_t n); so sánh n ký t ñu tiên ca chui s1 và s2, không phân
bit ch hoa, ch thưng ca cùng mt ký t
size_t strcspn (const char *s1, const char *s2); tìm ñ dài ñon ñu ca chui
size_t strlen (const char *s); xác ñnh chiu dài chui s
size_t strspn (const char *s1, const *s2); tìm ñ dài ñon ñu ca chui
size_t strxfrm (char *s1, const char *s2, size_t n);
unsigned *strlen (const char *s); xác ñnh chiu dài chui s
THƯ VIN STDLIB.H
File tiêu ñ này ch a các nguyên m%u ca các hàm ñưc s dng vào các mc ñích chung, ho"c vi các macro và
các ñnh nghĩa kiu có liên quan.
Cp phát b nh ñng
unsigned coreleft (void); cho bit b nh kh dng trong vùng cp phát ñng ñi vi mô hình tiny, small và
medium
unsigned long coreleft (void); cho bit b nh kh dng trong vùng cp phát ñng ñi vi mô hình compact large
và huge
void *calloc (size_t n, size_t size); cp phát vùng nh cho n ñi tưng kích c' size byte
void *malloc (size_t size); cp phát vùng nh cho size byte
void *realloc (void *block, size_t size); cp phát li b nh
void free (void *block); gii phóng vùng nh ñã cp phát
Tìm kim và sp xp
void *bsearch (const void *key_ptr; const void *a_ptr, size_t n_els, size_t el_size, int compare (const void *,
const void *));
void qsort (vois *a_ptr, size_t n_els, size_t el_size, int compare (const void *, const void *));
To s nh%u nhiên
int random (int n); to các s ng%u nhiên trong khong t! 0 ñn (num-1)
int rand (void); to s ng%u nhiên trong kh(ang t! 0 ñn 32767
void randomize (void); kh)i ñng cơ ch to s ng%u nhiên bng giá tr ng%u nhiên
void srand (unsigned seed); kh)i to b to s ng%u nhiên bng giá tr seed, không có giá tr tr li
Truyn thông vi môi trưng
char *getenv (const char *name);
int system (const char *s);
S h$c
int abs (int x);
long labs (long x);
div_t div (int numer, int denom);
ldiv_t ldiv (long numer, long deniom);
Chuyn ñ#i xâu ký t
char *itoa (int x, char *s, int cs); chuyn s nguyên x trong h ñm cơ s cs sang chui và lưu vào vùng nh s,
hàm tr v ña ch ca vùng s
char *ltoa (long x, char *s, int cs); chuyn s kiu long x trong h ñm cơ s cs sang chui và lưu vào vùng nh s,
hàm tr v ña ch ca vùng s
char *ultoa (unsigned long x, char *s, int cs); chuyn s kiu unsigned long x trong h ñm cơ s cs sang chui và
lưu vào vùng nh s, hàm tr v ña ch ca vùng s
double atof (const char *s); chuyn ñ#i xâu các ch s str thành mt s float
int atoi (const char*s); chuyn ñ#i xâu các ch s str thành mt s int
long atol (cont char *s); chuyn ñ#i xâu các ch s str thành mt s long
double strtod (const char *s, char **end_ptr);
long strtol (const char *s, char **end_ptr, int base);
unsigned long strtoul (const char *s, char **end_ptr, int base);
char *ecvt (double value, int ndig, int *dec, int *sign); chuyn giá tr kiu double sang chui ch gm các ch s
char *fcvt (double value, int ndig, int *dec, int *sign); chuyn giá tr kiu double sang chui ch gm các ch s
char *gcvt (double value, int ndec, char *buf); chuyn giá tr kiu double sang chui có c du chm thp phân và
du (-) cho s âm
Các hàm ký t nhiu byte
int mblen (const char *s, size_t n);
int mbrowc (wchar_t *p, const char *s, size_t n);
int wctomb (char *s, wchar_t wc);
Các hàm xâu ký t nhiu byte
size_t mbstowcs (wchar_t *wcs, const char *mbs, size_t n);
int wcstombs (char *mbs, const wchar_t *wcs, size_t n);
Ri kh(i chương trình
void abort (void); kt thúc chương trình mt cách không bình thưng
int atexit (atexit_t func);
void exit (int status); kt thúc chương trình mt cách bình thưng
THƯ VIN CONIO.H
char *cgets (char *str);
char *getpass (const char *prompt); ñ$c password
Ví d:
#include
#include
main()
{
char *password;
password=getpass
cout<<"Enter password:"<
return 0;
}
extern int _wscroll;
int cputs (const char *str);
int fgetc (FILE *stream);
int fputc (int c, FILE *stream);
int getch (void); ñ$c mt ký t t! bàn phím, không hin lên ký t gõ vào
int getche (void); ñ$c mt ký t t! bàn phím, có hin li ký t gõ vào. Ký t e cui có nghĩa là hin li (echo)
int gettext (int x1, int y1, int x2, int y2, void *destin);
int inp (unsigned portid);
int kbhit (void); kim tra xem có ký t gõ vào hay không
Ví d:
#include
#include
main()
{
clrscr();
cout<<"Press any key";
while (!kbhit());
cout<<"\r\Continue\r\n";
return 0;