Tải bản đầy đủ (.pdf) (29 trang)

Ngôn ngữ lập trình C - Chương 5 potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (322.68 KB, 29 trang )

Ch
Ch
−¬
−¬
ng
ng
5
5
Thao t
Thao t
¸
¸
c v
c v
í
í
i t
i t
Ë
Ë
p tin
p tin
v
v
μ
μ
giao tiÕp v
giao tiÕp v
í
í
i


i
h
h
Ö
Ö
th
th
è
è
ng
ng
Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
2
5.1 Lu
5.1 Lu
å
å
ng d
ng d
÷
÷
li
li
Ö
Ö
u v
u v
µ
µ

t
t
Ë
Ë
p tin
p tin
 5.1.1 Lung d liu và thao tác vào/ra
– Lung d liu :
• Phng tin trao đi thông tin đc lp vi các thit b truy xut
(còn gi là kênh nhp/xut).
• H thng to ra mt thit b logic tng ng vi thit b vào/ra, gi
là lung d liu hay kênh nhp/xut (thng đng nht vi tp).
• S dng các hàm trong th vin stdio.h
– Các lung d liu chun: quy đnh cho các thit b chun
• Bao gm các lung vào (stdin), ra (stdout), báo li (stderr), ph tr
(stdaux), in (stdprn).
• Thông thng là bàn phím, màn hình, cng COM1, máy in trên
PRN hay LPT1. Tuy vy HH có th hng đn thit b khác.
Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
3
5.1 Lu
5.1 Lu
å
å
ng d
ng d
÷
÷
li

li
Ö
Ö
u v
u v
µ
µ
t
t
Ë
Ë
p tin
p tin
 5.1.2 Tp tin
– Vn đ lu tr d liu
• Tc đ (b nh trong, b nh ngoài), cách thc truy nhp…
• Thi gian lu tr:
– Lu tr tm thi: trong thi gian chy chng trình.
– Lu tr lâu dài: s dng nhiu ln, trao đi d liu, …
– Tp tin
• Tp hp d liu có liên quan vi nhau và có cùng kiu, đc lu
tr trên b nh ngoài.
–  cho gn, t gi tr đi ta dùng thut ng tp.
• Tp cha d liu hiu theo ngha rng : chng trình, s liu, các
kiu d liu nh kí t, vn bn, …
Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
4
5.1 Lu
5.1 Lu

å
å
ng d
ng d
÷
÷
li
li
Ö
Ö
u v
u v
µ
µ
t
t
Ë
Ë
p tin
p tin
 5.1.2 Tp tin
– H thng tp:
• Mô t cách thc t chc lu tr thông tin.
– Cu trúc thông dng nht là cu trúc cây.
• ng dn: truy nhp ti tp theo đng đi trên cây tính t gc.
• Th tp: truy nhp ti tp theo s hiu tp.
– Là mt s nguyên đc HH cung cp cho tp khi to hay m tp.
– Các thông tin v tp (đã m): mô t đc đim ca tp
• Các thuc tính ca tp : c trng thái đc/ghi.
– C++ s dng các hng S_IREAD, S_IWRITE ( đc, ghi ).

–  kim tra các thuc tính này, s dng hàm access().
• Kích thc và trng thái : cho bit s byte và trng thái ca tp.
– S dng các hàm nh filelength, chsize, …
• Ch đ truyn: kiu nh phân hay kiu vn bn.
Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
5
5.1 Lu
5.1 Lu
å
å
ng d
ng d
÷
÷
li
li
Ö
Ö
u v
u v
µ
µ
t
t
Ë
Ë
p tin
p tin
 5.1.3 Thao tác vào/ra vi tp tin

– Các kiu vào/ra vi tp:
• Mc cao (qua vùng đm) và mc thp (không qua vùng đm)
– C++ không cung cp c ch vào/ra
å
s dng các hàm vào/ra trong
các th vin do trình dch cung cp.
• Vào/ra mc cao ~ qua vùng đm: s dng b đm (vùng nh trung
gian) do chng trình (thc cht là trình dch) cung cp.
• Vào/ra mc thp ~ trc tip ~ mc h thng (tuy nhiên vn có b
đm do HH cung cp).
– Th vin h tr vào/ra: stdio.h
• Tùy theo kiu vào/ra å s dng các th vin thích hp
• Tùy vào vic gn các hàm này vi thit b vào/ra nào, d liu s
đc chuyn t/đn thit b đó (màn hình, bàn phím, tp, …)
Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
6
5.2 Thao t
5.2 Thao t
¸
¸
c v
c v
µ
µ
o/ra t
o/ra t
Ö
Ö
p m

p m
ø
ø
c cao
c cao
 5.2.1 Khái nim chung
– Con tr tp:
• Là con tr kiu FILE
– Tr ti vùng nh cha thông tin xác đnh đc tính tp.
– Các đc tính này bao gm: tên, trng thái, v trí hin thi ca con tr.
VD: FILE *fp1, *fp2;
• Con tr tp xác đnh mt tp trên b nh ngoài tng ng vi mt
kênh nhp/xut và liên kt chúng vi nhau.
– Các thao tác vào/ra c bn:
• M, đóng tp, đc, ghi d liu, …
– Chú ý các ch đ truy nhp: r, w, a, r+, …
• Các hàm thông dng: fopen, fclose, putc, getc, …
• Các hàm khác: xem TLTK.
Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
7
5.2 Thao t
5.2 Thao t
¸
¸
c v
c v
µ
µ
o/ra t

o/ra t
Ö
Ö
p m
p m
ø
ø
c cao
c cao
 5.2.2 Các hàm vào/ra mc cao
– Các hàm c bn:
fopen: m tp, tham s là đng dn tp và ch đ truy nhp.
VD: fp1 = fopen("C:\\VIDU\\VD1.TXT","rb");
char fn[20]; gets(fn);
fp2 = fopen(fn,"wt");
fclose: đóng tp, tham s là con tr tp.
VD: fp1 = fclose(fp1);
– Các ch đ truy nhp cho hàm fopen:
“r”: m tp ch đc, li nu tp không tn ti.
“w”: m tp đ ghi, nu tp đã tn ti, ni dung s b xóa ht.
“r+”: m tp đ đc và ghi, li nu tp không tn ti.
“a”, “a+”: m tp ghi thêm d liu vào cui, tp s đc to mi nu
cha tn ti.
Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
8
5.2 Thao t
5.2 Thao t
¸
¸

c v
c v
µ
µ
o/ra t
o/ra t
Ö
Ö
p m
p m
ø
ø
c cao
c cao
 5.2.2 Các hàm vào/ra mc cao
– Các hàm c bn (tip)
getc, fgetc: đc kí t t tp, tham s là con tr tp.
putc, fputc: ghi kí t lên tp, tham s là kí t và con tr tp.
VD:
int c; //hoc char c;
c = getc(fp1);
putc(c, fp2);
fputc(10, fp2);
feof: kim tra cui tp, tham s là con tr tp.
VD:
int kt = feof(fp1);
fflush: làm sch b đm, tham s là con tr tp.
VD:
fflush(fp1);
– Các hàm c bn khác: xem TLTK.

Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
9
5.2 Thao t
5.2 Thao t
¸
¸
c v
c v
µ
µ
o/ra t
o/ra t
Ö
Ö
p m
p m
ø
ø
c cao
c cao
 5.2.2 Các hàm vào/ra mc cao
– Các hàm đc/ghi d liu cho kiu vn bn:
fgets: đc xâu kí t t tp.
fputs: ghi xâu kí t lên tp.
VD: char d[256];
fgets(d, 256, fp1);
fputs(d, fp2);
fscanf: đc d liu theo khuôn dng t kênh nhp/xut (thng là tp).
fprintf: ghi d liu theo khuôn dng lên kênh nhp/xut (thng là tp).

VD:
float x, y;
fscanf(fp1, "%f%f", &x, &y);
fprintf(fp2, “(%5.2f, %4.3f)\n", x, y);
– Các hàm dùng cho kiu vn bn khác: xem TLTK
Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
5.2 Thao t
5.2 Thao t
¸
¸
c v
c v
µ
µ
o/ra t
o/ra t
Ö
Ö
p m
p m
ø
ø
c cao
c cao
 5.2.2 Các hàm vào/ra mc cao
– Các hàm đc/ghi d liu cho kiu nh phân:
getw: đc s nguyên t tp.
putw: ghi s nguyên lên tp.
VD: int i;

i = getw(f);
putw(i, fp1);
fread: đc d liu theo khi t kênh nhp/xut (thng là tp).
fwrite: ghi d liu theo khi lên kênh nhp/xut (thng là tp).
VD:
char c[100];
fread(c, 1, 100, fp1);
fwrite(c, 1, 100, fp2);
– Các hàm dùng cho kiu nh phân khác: xem TLTK
Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
5.2 Thao t
5.2 Thao t
¸
¸
c v
c v
µ
µ
o/ra t
o/ra t
Ö
Ö
p m
p m
ø
ø
c cao
c cao
 5.2.3 Vào/ra ngu nhiên

– Truy nhp ngu nhiên: thao tác vi con tr tp
• Con tr ch v trí ca tp có th tr đn v trí bt kì trên tp.
• Các hng ch v: SEEK_SET ~ 0, SEEK_CUR ~ 1, SEEK_END ~ 2.
• Các hàm thông dng: fseek, ftell.
– Các hàm thông dng:
fseek: tr đn v trí mi tính theo byte, s dng con tr tp.
VD: fseek(fp, 0, SEEK_END);
ftell: tr v v trí hin thi, s dng con tr tp.
VD: int n;
n = ftell(fp);
– Các hàm vào/ra ngu nhiên khác: xem TLTK.
Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
5.2 Thao t
5.2 Thao t
¸
¸
c v
c v
µ
µ
o/ra t
o/ra t
Ö
Ö
p m
p m
ø
ø
c cao

c cao
 5.2.4 Cài đt các thao tác vào/ra d liu
å
Bài tp ln!
– c các tài liu có liên quan
– Lp trình cài đt
• Cài đt các thao tác vào/ra vi ngun d liu xác đnh å kt hp
vi các BTL s 1 và s 2 (xem chng 3).
• Chú ý đn tính chính xác và hp lý ca vic lu tr và truy xut
d liu trên tp.
• Có th s dng thêm các hàm vào/ra tp mc thp nu cn (xem
mc 5.3 tip theo).
– Có th xây dng thành mt h qun tr CSDL đn gin !
• Ví d, quy đnh vic lu tr, truy xut (sp xp, tìm kim, …) d
liu theo mt quy cách nht đnh.
Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
5.2 Thao t
5.2 Thao t
¸
¸
c v
c v
µ
µ
o/ra t
o/ra t
Ö
Ö
p m

p m
ø
ø
c thÊp
c thÊp
 5.3.1 Khái nim chung
– Vào/ra tp tin mc thp:
• Còn gi là h thng vào/ra mc I, h thng vào/ra ging UNIX hay
h thng vào/ra không đc cung cp vùng đm.
– V nguyên tc, các hàm này không đc đnh ngha trong ANSI C.
– Các hàm vào/ra mc thp là c s đ xây dng các hàm vào/ra mc
cao
å
vic tìm hiu chúng vn có ý ngha nht đnh.
• Duy trì tính k tha và kh nng tng thích:
– Tính lch s: C phát trin trên nn UNIX, sau đóm rng sang các
nn khác
å
gi li các thao tác vào/ra mc thp đ duy trì tính k
tha và kh nng tng thích.
– C++ bao trùm lên C, ngoài các phng thc mi, vn s dng li các
thao tác vào/ra ca C.
• Gn gi vi các thao tác truy xut ca máy:
– Chng trình dùng các hàm này s hiu qu hn, nhanh hn song
làm vic vi chúng khó và phc tp hn.
Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
5.2 Thao t
5.2 Thao t
¸

¸
c v
c v
µ
µ
o/ra t
o/ra t
Ö
Ö
p m
p m
ø
ø
c thÊp
c thÊp
 5.3.2 Các hàm vào/ra mc thp thông dng
– Tp tin tiêu đ và bin chun
• S dng các tp tiêu đ: io.h, fcntl.h, errno.h, sys/stat.h, dos.h, …
– S dng bin chun (ca Turbo C) _fmode cho phép xác đnh kiu
nhp/xut (nh phân hay vn bn).
• Vào/ra s dng th tp:
– H thng vào/ra mc II s dng kênh xut/nhp và con tr tp.
– Các hàm thông dng:
open, close: m, đóng tp (s dng các ch đ truy nhp).
_open, _close: liên quan ti DOS.
read, write: đc, ghi d liu.
lseek: truy nhp tp theo ch mc.
unlink: xóa tp.
• Cách s dng: xem TLTK.
– Các hàm khác: xem TLTK.

Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
5.4 Giao tiÕp v
5.4 Giao tiÕp v
í
í
i h
i h
Ö
Ö
th
th
è
è
ng
ng
 5.4.1 Giao tip vi h thng s dng th vin dos.h
– Khái nim chung
• Tp hp thanh ghi ca b VXL 8086
– Thanh ghi công dng chung (16 bit) : AX, BX, CX, DX.
• Phân thành các thanh ghi 8 bit : AH, AL; BH, BL; CH, CL; DH, DL.
– Thanh ghi đon (16 bit): lu gi con tr đon (CS, DS, SS, ES)
– Thanh ghi đ lch (16 bit): lu gi con tr đ lch (IP, SP, BP, SI,DI)
• Thanh ghi IP phi hp vi các thanh ghi đon å đa ch b nh kiu
đon:đ lch (segment : offset).
– Thanh ghi c (flag): cha 9 c (mi c 1 bit): O, D, I, T, S, Z, A, P, C.
• T chc đa ch b nh trong b VXL 8086
– S dng kin trúc b nh phân đon
• Cú pháp biu din : đon : đ_lch (segment (2 byte) : offset (2 byte))
– a ch b nh gm các đon, mi đon có đ ln t 1 – 64 KB.

• Chuyn đi : đa ch thc = đon * 16 + đ lch.
Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
5.4 Giao tiÕp v
5.4 Giao tiÕp v
í
í
i h
i h
Ö
Ö
th
th
è
è
ng
ng
 5.4.1 Giao tip vi h thng s dng th vin dos.h
– Ngt và x lý ngt
• Khái nim chung v ngt:
– Ngt là loi tín hiu đc bit đc gi ti b VXL.
– Khi nhn đc mt tín hiu ngt, CPU dng công vic đang làm, quay
sang thc thi mt đon mã (đc gi là trình thc hin ngt), sau đó
quay li tip tc thc hin công vic trc đó.
• Phân loi ngt:
– Ngt mm: xut hin khi chng trình thc hin mt lnh ngt (INT)
~ mt dng đc bit ca hàm.
– Ngt cng: xut hin khi các thit b ngoi vi cn đc phc v (ví d:
ngi dùng n mt phím, kt thúc vic đc đa, …).
Bài ging C++. 15/10/2008

V.S.Nam. B/m KTHT, khoa CNTT, HXD
5.4 Giao tiÕp v
5.4 Giao tiÕp v
í
í
i h
i h
Ö
Ö
th
th
è
è
ng
ng
 5.4.1 Giao tip vi h thng s dng th vin dos.h
– Ngt và x lý ngt (tip)
• Th t u tiên ca ngt:
– Ngt có th tr u tiên cao s đc CPU thc hin trc.
– u tiên cao nht dành cho ngt không che đc (NMI). Ngt loi này
cnh báo CPU v mt li phn cng nghiêm trng.
• Bng véct ngt:
– Bng véct ngt (IVT) cha đa ch ca thao tác s đc thc hin (khi
ngt tng ng đc sinh ra). Chi tit hn xem TLTK.
– Có tt c 256 ngt, mi ngt chim 4 byte b nh
å
tng cng 1KB.
Chúng chim đa ch t 0x00 đn 0xFF.
– Có th có nhiu dch v con gn vi mt ngt, chúng cng đc đánh
s trong h 16.

Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
5.4 Giao tiÕp v
5.4 Giao tiÕp v
í
í
i h
i h
Ö
Ö
th
th
è
è
ng
ng
 5.4.1 Giao tip vi h thng s dng th vin dos.h
– Ngt và x lý ngt (tip)
• Các dch v ca DOS và BIOS:
– BIOS cung cp các hàm mc thp (mc h thng) đ truy nhp vào
phn cng ca h thng. Vic gi mt dch v ca BIOS có tác đng
nh nhau trên tt c các máy PC (kt qu cui cùng là nh nhau).
– DOS (cng nh các HH khác) cung cp các hàm mc cao (mc
HH) đ truy nhp vào phn cng ca h thng. Các dch v này da
c s trên các dch v ca BIOS, chúng phc tp hn và có nhiu chc
nng hn (Tt nhiên chúng phi gi ti các hàm ca BIOS đ hoàn
thành công vic ca mình).
Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
5.4 Giao tiÕp v

5.4 Giao tiÕp v
í
í
i h
i h
Ö
Ö
th
th
è
è
ng
ng
 5.4.1 Giao tip vi h thng s dng th vin dos.h
– X lý ngt mm
• Th tc x lý:
– Mi ngt mm đc xác đnh bi mt cp 2 s nguyên h 16, s hiu
và chc nng.
– Các bc c bn đ gi ngt: đt s hiu chc nng vào AH ; xác đnh
các tham s đu vào, đa chúng vào các thanh ghi theo yêu cu ca
mi ngt ; thc hin câu lnh gi ngt theo s hiu ngt ; ly kt qu
do ngt sinh ra (tham s đu ra) t
 các thanh ghi.
– Có 2 phng pháp ch yu đ gi ngt : (s dng các hàm khác nhau
trong th vin dos.h).
• Phng pháp gi ngt dùng hàm geninterrupt :
– S dng các bin gi thanh ghi: _FLAGS, _AX, _AH, _AL, _BX, …
– Gi hàm : void geninterrupt ( int sh_ngt );
Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD

5.4 Giao tiÕp v
5.4 Giao tiÕp v
í
í
i h
i h
Ö
Ö
th
th
è
è
ng
ng
 5.4.1 Giao tip vi h thng s dng th vin dos.h
– X lý ngt mm (tip)
• Phng pháp gi ngt dùng các hàm int86, int86x, intdos, intdosx :
– S dng các cu trúc, hp: BYTEREGS, WORDREGS, REGS, SREGS,
REGPACK.
– Gi hàm: int int86 ( int sh_ngt, REGS *v, REGS *r);
int int86x ( int sh_ngt, REGS *v, REGS *r, SREGS *s);
• S dng hàm void segread (SREGS *s) đ đt ni dung các thanh ghi đon vào
cu trúc s (thng dùng đ chun b cho hàm int86x)
– Gi hàm: int intdos (REGS *v, REGS *r);
int intdosx (REGS *v, REGS *r, SREGS *s);
– Các hàm này thc hin ngt 0x21 ca DOS (kích hot mt hàm tng ng ca
DOS thông qua giá tr ca v->h.ah ).
• Thc cht các hàm này là hàm int86 (int86x) vi s hiu ngt là 0x21.
• S dng hàm void intr ( int sh_ngt, REGPACK *reg) đ thc hin ngt sh_ngt.
Các tham s vào/ra đu đc xác đnh qua reg.

Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
5.4 Giao tiÕp v
5.4 Giao tiÕp v
í
í
i h
i h
Ö
Ö
th
th
è
è
ng
ng
 5.4.1 Giao tip vi h thng s dng th vin dos.h
– X lý ngt mm (tip)
• Mt s lu ý:
– Các hàm int86x và intdosx khác các hàm int86 và intdos  ch chúng
có th truy nhp vào d liu  mt đon khác.
– Nên s dng các hàm int86 (int86x) hoc intdos (intdosx) vì chúng
ch can thip gián tip vào các thanh ghi ca CPU
å
an toàn hn hàm
geninterrupt.
• Áp dng:
– S dng ngt 0x21 và 0x13 đ thao tác vi tp, th mc, đa.
– S dng ngt 0x21, 0x10, 0x16, 0x33 đ thao tác vi màn hình, bàn
phím, chut.

Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
5.4 Giao tiÕp v
5.4 Giao tiÕp v
í
í
i h
i h
Ö
Ö
th
th
è
è
ng
ng
 5.4.1 Giao tip vi h thng s dng th vin dos.h
å
Bài tp ln!
– c các tài liu v ngt
– Lp trình cài đt
• S dng ngt đ thao tác vi chut, bàn phím, …
• S dng ngt đ thao tác vi tp, th mc, …
• Kim tra các hàm va xây dng đc bng các chng trình c
th, ví d menu điu khin, trò chi, …
– Có th xây dng thành mt th vin.
Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
5.4 Giao tiÕp v
5.4 Giao tiÕp v

í
í
i h
i h
Ö
Ö
th
th
è
è
ng
ng
 5.4.2 Giao tip vi h thng s dng API
– API và Windows API
• Khái nim chung:
– Vai trò HH:
• Qun lý các đi tng h thng (tp, tin trình, trao đi thông tin gia
các tin trình, kt ni mng, qun lý thit b, …).
• Cung cp các dch v truy nhp ti chúng cho các ng dng. Vic cung
cp này đc thc hin thông qua API.
– i vi lp trình viên, mi HH đc đnh ngha bi API ca nó.
• Application Programming Interface : Giao din lp trình ng dng.
– API là tp hp các kiu d liu, hàm và đnh ngha hàm đã đc HH
thit k sn.
Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
5.4 Giao tiÕp v
5.4 Giao tiÕp v
í
í

i h
i h
Ö
Ö
th
th
è
è
ng
ng
 5.4.2 Giao tip vi h thng s dng API
– API và Windows API (tip)
• API – Application Programing Interface:
– Cung cp tin ích đ ng dng có th truy nhp vào h thng.
– API thng đc vit bi ngôn ng dùng đ vit HH.
• Ví d, MS-DOS đc vit bng hp ng å đnh ngha giao din  mc
hp ng: np giá tr vào thanh ghi và gi ngt.
– Tuy vy cng có các API khác cho các ngôn ng khác mà bn thân
chúng li gi ti tp API c s.
• Ví d các hàm C trong th vin C cung cp các dch v DOS qua ngt
INT 0x21, các dch v tng ng ca DOS đc gi tùy thuc vào giá tr
đt vào thanh ghi.
• Ví d khác v API : UNIX đc vit bng C å cung cp mt th vin
hàm C. JavaOS đc vit bng Java å
cung cp tp hp các lp Java.
Bài ging C++. 15/10/2008
V.S.Nam. B/m KTHT, khoa CNTT, HXD
5.4 Giao tiÕp v
5.4 Giao tiÕp v
í

í
i h
i h
Ö
Ö
th
th
è
è
ng
ng
 5.4.2 Giao tip vi h thng s dng API
– API và Windows API (tip)
• Windows API:
– Là h thng gm nhiu kiu d liu và hàng nghìn hàm khác nhau.
– Cung cp cho ng dng giao din đ ha, hin th hình nh, vn bn
đa đnh dng, qun lý các đi tng h thng nh b nh, tp, tin
trình, …giúp cho vic phát trin ng dng trong môi trng Windows
d dàng hn.
– Chú ý: trc kia Windows API có tên là Win32 API. Tên gi mi này
chính xác hn, nó cho bit ngun gc Windows 16-bit và kh n
ng h
tr Windows 64-bit sau này.

×