Hàm void abort( void ): Hàm abort được khai báo trong proccess.h dùng để in
ra thông báo “Abnormal program terminal”.
Ví d:
Code:
#include <stdio.h>
#include <stdlib.h>
int main(void) {
printf("Calling abort()\n");
abort();
return 0; /* This is never reached */
}
Hàm int abs(int n): tr li giá tr tuyt đối ca n.
Hàm int access(char *path, int mode ) : Được khai báo trong io.h và dùng để xác định xem file
được ch ra theo char *path vi mode truy nhp int mode có tn ti thc hay không. Trong đó, int
mode có th nhn mt trong các giá tr:
00 : Ch kim tra s tn ti ca file
02 : Kim tra vic cho phép ghi.
03 : Kim tra vic cho phép đọc
04 : Kim tra vic cho phép đọc và ghi
Đối vi thư mc, hàm s kim tra s tn ti ca thư mc. Hàm tr li giá tr 0 khi file có quyn truy
nhp vi mode đã cho, hàm tr li giá tr -1 khi quyn truy nhp file theo mode gp li.
Ví d:
Code:
#include <stdio.h>
#include <io.h>
int file_exists(char *filename);
int main(void) {
printf("Does NOTEXIST.FIL exist: %s\n",
file_exists("NOTEXISTS.FIL") ? "YES" : "NO");
return 0;
}
int file_exists(char *filename)
{
return (access(filename, 0) == 0);
}
Hàm double acos(double x): Được khai báo trong math.h dùng để tính
arcosin(x).
Hàm double asin( double x): Được khai báo trong math.h dùng để tính giá
tr /2]./2, arsin(x) trong khong [-
Hàm char *asctime( struct tm *blktime): Hàm được định nghĩa
trong time.h dùng để biến đổi cu trúc thi gian lưu tr thành mt xâu gm 26 kí t có dng như
sau: Wed Jan 02 02:03:55 1980\n\0. Trong đó cu trúc thi gian tm được định nghĩa như sau:
Code:
struct tm {
int tm_sec; /* S giây sau m t phút (0 . .59) */
int tm_min; /* S phút sau m t gi (0 . .59) */
int tm_hour; /* S gi sau m t ngày đêm ( 0 . .23) */
int tm_mday; /* Ngày trong m t tháng ( 0. .31)*/
int tm_mon; /* S tháng k t tháng 1 ( 0 . .11)*/
int tm_year; /* S năm sau 1900 */
int tm_wday; /* S ngày sau th b y (0. .6)*/
int tm_yday; /* S ngày k t tháng 1 */
int tm_isdst; /* C th i gian- ngày- l u tr */};Ví d : ư
Code:
#include <stdio.h>
#include <string.h>
#include <time.h>
int main(void) {
struct tm t;
char str[80];
/* sample loading of tm structure */
t.tm_sec = 1; /* Seconds */
t.tm_min = 30; /* Minutes */
t.tm_hour = 9; /* Hour */
t.tm_mday = 22; /* Day of the Month */
t.tm_mon = 11; /* Month */
t.tm_year = 56; /* Year - does not include century */
t.tm_wday = 4; /* Day of the week */
t.tm_yday = 0; /* Does not show in asctime */
t.tm_isdst = 0; /* Is Daylight SavTime; does not show in
asctime */
/* converts structure to null terminated string */
strcpy(str, asctime(&t));
printf("%s\n", str);
return 0;
}
Hàm int atoi(char *string): Được khai báo trong math.h dùng để chuyn đổi mt xâu kí t s thành
mt s nguyên.
Hàm int atol(char *string): Được khai báo trong math.h dùng để chuyn đổi
mt xâu kí t s thành mt s nguyên dài.
Hàm double atof( char *string): Được khai báo trong math.h dùng để
chuyn đổi mt xâu kí t s thành mt s thc có độ chính xác gp đôi.
Hàm char *itoa( int value, char *string, int radix): Được khai
báo trong stdlib.h dùng để chuyn đổi s value thành mt xâu kí t s vi cơ s là radix. Trong
đó, 2 <= radix <=16.
Hàm char *utoa( unsigned long int value, char string,
int radix): Được khai báo trong stdlib.h dùng để chuyn đổi s nguyên dài không du
value thành mt xâu kí t s vi cơ s là radix. Trong đó, 2 <= radix <=16.
Hàm char *ltoa( long int value, char string, int radix):
Được khai báo trong stdlib.h dùng để chuyn đổi s nguyên dài value thành mt xâu kí t s vi
cơ s là radix. Trong đó, 2 <= radix <=16.
Ví d:
Code:
#include <stdlib.h>
#include <stdio.h>
int main(void){
char string[25];
long value = 123456789L;
ltoa(value,string,10);
printf("number = %ld string = %s\n", value, string);
return 0;
}
Hàm int biosdisk(int cmd, int drive, int head, int track,
int sector,int nsects, void *buffer); được khai báo trong bios.h, s dng
int 0x13 để cung cp mt s dch v truy nhp đĩa. Trong đó, int cmd là s hiu ca dch v; int
drive là s hiu đĩa; int head là s hiu đầu đọc ghi; int track là s hiu rãnh; int sector là s
hiu sector bt đầu; int sector là s hiu sector cn đọc ghi hoc so sánh; void far *buffer là v trí
b nh cn để đọc ra, ghi vào hoc để so sánh.
Ví d:
Code:
#include <bios.h>
#include <stdio.h>
int main(void) {
int result;
char buffer[512];
printf("Testing to see if drive a: is ready\n");
result = biosdisk(4,0,0,0,0,1,buffer);
result &= 0x02;
(result) ? (printf("Drive A: Ready\n")) :
(printf("Drive A: Not Ready\n"));
return 0;
}
Hàm int bioscom(int cmd, char abyte, int port); được khai báo
trong bios.h dùng để điu khin cng truyn thông RS-232 (communications I/O). Trong đó giá tr
ca int cmd được xác định bi mt trong các giá tr sau:
0 : Thiết lp byte d liu truyn.
1 : Gi mt byte ra đường truyn.
2 : Nhn mt byte vi 8 bít giá tr t cng.
3 : Thiết lp trng thái cng.
int port là mt s nguyên, trong đó port = 0 cho cng COM1, port = 1 cho cng COM2.
Ví d:
Code:
#include <bios.h>
#include <conio.h>
#define COM1 0
#define DATA_READY 0x100
#define TRUE 1
#define FALSE 0
#define SETTINGS ( 0x80 | 0x02 | 0x00 | 0x00)
int main(void) {
int in, out, status, DONE = FALSE;
bioscom(0, SETTINGS, COM1);
cprintf("... BIOSCOM [ESC] to exit ...\n");
while (!DONE) {
status = bioscom(3, 0, COM1);
if (status & DATA_READY)
if ((out = bioscom(2, 0, COM1) & 0x7F) != 0)
putch(out);
if (kbhit()) {
if ((in = getch()) == '\x1B')
DONE = TRUE;
bioscom(1, in, COM1);
}
}
return 0;
}
Hàm int inport(int portid) Được khai báo trong dos.h dùng để đọc mt t 2byte
t cng.
Hàm int inportb( char byte): Được khai báo trong dos.h dùng để đọc mt
byte t cng.
Ví d:
Code:
#include <stdio.h>
#include <dos.h>
int main(void){
int result;
int port = 0; /* serial port 0 */
result = inport(port);
printf("Word read from port %d = 0x%X\n", port, result);
return 0;
}
Hàm int outport( int portid): Được khai báo trong dos.h dùng để đưa mt t
ra cng.
Hàm int outportb(char byte): Được khai báo trong dos.h dùng để đưa mt
byte d liu ra cng.
Ví d:
Code:
#include <stdio.h>
#include <dos.h>
int main(void){
int port = 0;
char value = 'C';
outportb(port, value);
printf("Value %c sent to port number %d\n", value, port);
return 0;
}
Hàm void calloc(size_t n, size_t size): Được khai báo trong alloc.h
dùng để cp phát không gian nh cho mt mng gm n phn t trong đó độ dài ca mi phn t
là size byte.
Ví d:
Code:
#include <stdio.h>
#include <alloc.h>
int main(void) {
char *str = NULL;
/* allocate memory for string */
str = calloc(10, sizeof(char));
/* copy "Hello" into string */
strcpy(str, "Hello");
/* display string */
printf("String is %s\n", str);
/* free memory */
free(str);
return 0;
}
Hàm void *malloc(size_t sie_n): Được khai báo trong alloc.h dùng để
cp phát mt khi b nh gm size_n byte. Hàm tr li con tr ti vùng b nh đã được cp phát
nếu thc hin thành công, hàm tr li con tr NULL nếu vic cp phát b nh không thành công.