- 在线时间
- 0 小时
- 最后登录
- 2007-9-23
- 注册时间
- 2004-9-10
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 9975 点
- 威望
- 7 点
- 阅读权限
- 150
- 积分
- 4048
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1893
- 主题
- 823
- 精华
- 2
- 分享
- 0
- 好友
- 0

我的地盘我做主
该用户从未签到
 |
< ><FONT color=#ff0000>函数名: labs </FONT>
. h2 ]5 J3 ?8 v1 w) L" e用 法: long labs(long n);
% k! N/ C0 f! R9 `程序例: </P>& l2 F1 `: m8 Y0 v" U2 B) h: u
< ><FONT color=#0000ff>#include <STDIO.H>" Y- y1 i, ?* U3 G
#include <MATH.H></FONT></P>
' x1 @( C8 B" n$ R- s< ><FONT color=#0000ff>int main(void)
1 S3 ]) G1 {% q2 S- ~* G{
& I- ]- x" v* }3 a& L. Rlong result; : K& i# ? h8 a8 \8 i
long x = -12345678L; </FONT></P>7 A* a) Y4 `% S* t
< ><FONT color=#0000ff>result= labs(x); ! f" ]4 Q+ T9 v# f- I" n
printf("number: %ld abs value: %ld\n",
6 f0 `* x! |0 O+ B( Y0 c+ |x, result); </FONT></P>' `7 O% c, Q( {, J9 c) d
< ><FONT color=#0000ff>return 0; + |8 k# r$ N x" _: M
} % P/ z1 `0 ^9 s$ b. r
</FONT>. t( y x K& y; h8 d
6 ? z: j4 I% V+ [ N</P>
- E, [; h9 F0 f6 C5 a/ ~< ><FONT color=#ff0000>函数名: ldexp </FONT>
. O9 g& [7 i5 t, h4 u功 能: 计算value*2的幂
6 j ^3 q; c2 }) a# D/ P用 法: double ldexp(double value, int exp); 7 V! E, ~0 `& D" K4 _ C: }1 |+ v% Z
程序例: </P>; o& F, M: u5 f+ z8 O
< ><FONT color=#0000ff>#include <STDIO.H>: M0 F, q( z, q
#include <MATH.H></FONT></P>& Z5 o7 k& y, [& x8 s+ p
< ><FONT color=#0000ff>int main(void) ' r0 A4 Y! O' T5 T1 i3 Z" E
{
_/ w8 r1 v3 F" H. w* Mdouble value; 7 H ?2 {* e ]. _; q# K6 ]
double x = 2; </FONT></P>
5 U5 H0 U4 E7 a4 O( Z% H7 l# m* D< ><FONT color=#0000ff>/* ldexp raises 2 by a power of 3 / [2 V" g( n2 B% t3 r6 s- l9 O2 P5 @
then multiplies the result by 2 */ 1 x4 J( T# M- \/ R5 `) q
value = ldexp(x,3); / k: z1 o6 H' W! ~) B# _% R' X8 K
printf("The ldexp value is: %lf\n", " _" l* m& [4 q# e8 Q
value); </FONT></P>" l2 e% Z9 w$ Y$ L+ U. _3 {
< ><FONT color=#0000ff>return 0;
# z* h) V% t& @1 t} $ \+ D) v( u/ h" l# m
k0 L2 l# m- D+ p1 u</FONT></P>1 O9 Y6 O0 z$ \
< ><FONT color=#ff0000>函数名: ldiv </FONT>0 w7 n$ t( u" c5 i/ [* c' g
功 能: 两个长整型数相除, 返回商和余数
9 F( u7 J# F* x- B; O9 m2 H用 法: ldiv_t ldiv(long lnumer, long ldenom); 1 D. W: O8 D5 e: o; j
程序例: </P>0 h5 t9 I; y/ |/ k a
< ><FONT color=#0000ff>/* ldiv example */ </FONT></P>. y2 V+ n8 c& Q& U7 C
< ><FONT color=#0000ff>#include <STDLIB.H>
, Y$ C3 J" e' r7 ^: M#include <STDIO.H></FONT></P>
/ F/ V% |, o# {% n3 o4 o# {9 w( K< ><FONT color=#0000ff>int main(void)
4 t4 d: \5 h; R9 h! _{ ( X+ w: }+ w; L! c' `
ldiv_t lx; </FONT></P>
5 A4 l# C; r& A, P1 G< ><FONT color=#0000ff>lx = ldiv(100000L, 30000L);
& b8 t0 N7 G5 t; m, hprintf("100000 div 30000 = %ld remainder %ld\n", lx.quot, lx.rem);
& P( }8 W& ]! z# N% Q6 ^3 A, creturn 0; </FONT>
; U7 W8 W# }$ M$ U: _<FONT color=#0000ff>} </FONT>
1 K" P3 b; g3 e$ O& t* i9 S</P>. S* [$ p7 {% E+ s0 t0 k0 |
< ><FONT color=#ff0000>函数名: lfind </FONT>/ v1 p; j/ h+ n7 b/ r% ]
功 能: 执行线性搜索
; k2 _' G, v1 z用 法: void *lfind(void *key, void *base, int *nelem, int width, 3 ^6 g2 {. f' V& o `( A" a. p9 V
int (*fcmp)()); ' e' M, W+ l, j1 D1 Y8 X8 t
程序例: </P>/ Y& u1 L3 m& Y1 u- q
< ><FONT color=#0000ff>#include <STDIO.H>
5 i. ?0 ~8 _% X7 d% h#include <STDLIB.H></FONT></P>
6 Z3 R; k* T* O& b/ h< ><FONT color=#0000ff>int compare(int *x, int *y) $ |/ [& u( w' J7 Y6 Y' j+ e8 O
{
- r3 k7 ?* l: B! l4 h% J" breturn( *x - *y ); ( j% g+ M6 l, x/ ^! H+ j6 f
} </FONT></P>
: v) E3 R3 [" g+ O5 Z< ><FONT color=#0000ff>int main(void) ; ~( S/ w* S& H, @. ~
{ 4 q% o& j+ e/ G
int array[5] = {35, 87, 46, 99, 12};
6 y L; W. h9 vsize_t nelem = 5; 0 k+ U: |0 ]% z4 \( o% |
int key; 0 T9 p- R* u4 r
int *result; </FONT></P>
0 }6 Z% A$ r0 p, o< ><FONT color=#0000ff>key = 99; ; W- i' e7 z0 H
result = lfind(&key, array, &nelem,
) `7 |9 I/ C6 b' Dsizeof(int), (int(*)(const void *,const void *))compare);
% a7 P4 A7 w% J6 x% Gif (result)
9 D" w4 b4 z( h( [7 W* F2 o# |printf("Number %d found\n",key); & }; J) {. k: @3 g
else - m6 H# K. B3 Z5 i" A: {- s
printf("Number %d not found\n",key); </FONT></P>
5 E: R, e- S+ W' P4 A& N; \3 c< ><FONT color=#0000ff>return 0;
9 }, n3 ]4 k' \% c- g} </FONT># N B( E$ [9 S% ?: i7 V
0 h6 u" J O4 z3 F \6 o
</P>
4 G( h1 T& B( w& c% Q( O< ><FONT color=#ff0000>函数名: line </FONT>! Z5 R0 H+ @3 U5 N7 A
功 能: 在指定两点间画一直线 6 n8 x& p. P4 |6 a- f9 D! Y# v
用 法: void far line(int x0, int y0, int x1, int y1); % e' G9 P0 R! r8 Q W( Y+ E
程序例: </P>
) X" a& x1 c1 }2 W l- u< ><FONT color=#0000ff>#include <GRAPHICS.H>' I& E4 P3 _4 k$ a: b
#include <STDLIB.H>
. ~' U. i# j% l4 Z#include <STDIO.H>
2 C' `3 D0 P( Z' f6 x0 O#include <CONIO.H></FONT></P>
8 _. O$ z! H9 W< ><FONT color=#0000ff>int main(void)
1 Y& V" q6 ?8 v0 o& q# W( Y& c{ 7 {- y& L( a8 U; p
/* request auto detection */
$ F Y6 `4 ]% m; D: D/ j5 j4 s* g! Wint gdriver = DETECT, gmode, errorcode;
, ]' G+ i) i0 j6 u; bint xmax, ymax; </FONT></P>+ s9 J6 p& `( ?+ { s M
< ><FONT color=#0000ff>/* initialize graphics and local variables */ 6 X/ h5 B C( K; A% |
initgraph(&gdriver, &gmode, ""); </FONT></P>9 k% b" U7 Z7 a/ {
< ><FONT color=#0000ff>/* read result of initialization */ 1 k* m, i: ^/ O% N2 h
errorcode = graphresult();
9 E0 Q: ?% H4 A$ ]/ t9 q/* an error occurred */ 9 J& s }9 J( q& h$ Q9 I
if (errorcode != grOk)
% w$ l4 Q) R0 r, d/ b8 v{
9 e$ R2 r! ]* z6 y# Y, D0 Pprintf("Graphics error: %s\n", ; T+ U# t6 Q$ ]2 n f2 Q" i4 x
grapherrormsg(errorcode));
5 u) H5 N) C/ R; m+ R! o! Kprintf(" ress any key to halt:");
+ c P2 ^$ y( Z+ wgetch(); , L2 K& t; l6 y; [' f; S9 s
exit(1);
/ c: V }$ P8 X8 H+ J} </FONT></P>
/ c9 r, v/ |9 D6 {< ><FONT color=#0000ff>setcolor(getmaxcolor()); 1 K# g4 f" m- |4 ?/ f* A
xmax = getmaxx();
7 A, o3 ^1 ]6 W# H7 n, Fymax = getmaxy(); </FONT></P>; f7 ^+ V8 i& u# ~- ~: S/ O
< ><FONT color=#0000ff>/* draw a diagonal line */ ) P* i; }' K$ R* J9 u
line(0, 0, xmax, ymax); </FONT></P>9 A: S7 {" S- r5 `8 C: A8 L8 i/ Q
< ><FONT color=#0000ff>/* clean up */
8 B4 c9 Y* S/ `& y; v3 W8 agetch();
# |2 ]1 Z+ j$ W/ @" t- C) {closegraph(); : r) j# u: q2 E9 _" F& q1 l
return 0; , h) p4 s: R. w' x2 D9 T
}
5 f. D4 ~1 X; g. c* U</FONT>0 a3 u2 F) l/ ~6 z1 R/ Y0 _
</P>) G( l) O' c6 d3 }& U+ V+ V
<P><FONT color=#ff0000>函数名: linerel </FONT>" @$ D, w5 T. a1 K3 g( R4 C y
功 能: 从当前位置点(CP)到与CP有一给定相对距离的点画一直线
4 |- p: i+ u& h& I用 法: void far linerel(int dx, int dy); 3 T0 \8 W7 t* C) p+ R
程序例: </P>
/ o# O" f) ]% D. e+ B+ a% O<P><FONT color=#0000ff>#include <GRAPHICS.H>4 W j) t: a8 E/ Y& D O7 r
#include <STDLIB.H>2 |: N) T0 i8 {2 {5 C6 _5 V/ u) x8 E5 {
#include <STDIO.H>& V4 p1 R) e5 K* `+ F
#include <CONIO.H></FONT></P>
8 x, s6 s" X! s<P><FONT color=#0000ff>int main(void) % V9 r o0 G v: D8 \4 f
{ ! O! s9 n1 c- x& Q
/* request auto detection */
) s2 F# H7 l0 |* s e! p9 oint gdriver = DETECT, gmode, errorcode;
2 M) ~8 J% k5 l& e: R3 schar msg[80]; </FONT></P>3 H P0 ~& S; ?0 b- d
<P><FONT color=#0000ff>/* initialize graphics and local variables */ / v& \+ g1 z5 D
initgraph(&gdriver, &gmode, ""); </FONT></P>
0 W( }+ p% P4 \& _/ C) t8 w3 s& `) G; h<P><FONT color=#0000ff>/* read result of initialization */
! z9 g& U( O# U0 w0 k9 L! n4 |% _errorcode = graphresult();
6 T( d& z; z& R) i2 e6 }if (errorcode != grOk)
2 j b. `5 q( U/ Z/ `{ $ R+ N( m& e+ w7 G3 D
printf("Graphics error: %s\n",
* k7 Z. z6 Q1 S( g# |% P* n' Sgrapherrormsg(errorcode));
* b& p( S: u r# O- |7 R( [' mprintf("Press any key to halt:");
& Z0 ] V- C) g# w- `1 Fgetch(); ( C' u) V& i' N
exit(1);
% t+ Q- Y: L* t6 O} </FONT></P>
0 s) k' e5 z5 w) }# ^4 o# x<P><FONT color=#0000ff>/* move the C.P. to location (20, 30) */
& V/ j w% n8 x) E. \6 C3 a& @6 Zmoveto(20, 30); </FONT></P>) e) g, Z* `% a. p9 D
<P><FONT color=#0000ff>/* create and output a # L1 f) X- z' Y* y5 }7 B' Q) f- U$ i
message at (20, 30) */
" q4 {- ~* k# `; gsprintf(msg, " (%d, %d)", getx(), gety());
7 x2 r& m; S3 `6 _8 gouttextxy(20, 30, msg); </FONT></P>
4 F' q' U6 M% E( R8 N<P><FONT color=#0000ff>/* draw a line to a point a relative
( \7 ]/ \4 a# _: F, P* w8 jdistance away from the current 1 v1 ]/ A, X' f, F
value of C.P. */ 8 [$ h9 S7 @2 ^1 I
linerel(100, 100); </FONT></P>; O6 X' _# C+ }. {9 M9 n# [% A$ a
<P><FONT color=#0000ff>/* create and output a message at C.P. */
$ b2 x1 S C+ [. v0 o% j1 ?sprintf(msg, " (%d, %d)", getx(), gety()); 3 }' {3 c Z- z; z
outtext(msg); </FONT></P>
& n! {$ \( J1 J+ k0 y<P><FONT color=#0000ff>/* clean up */ & I0 w+ T7 Z7 k1 b- D
getch(); 7 w. y* @1 Y* j* k) O
closegraph();
9 [! F* s% w) S2 [$ b7 `8 zreturn 0;
) Y7 Q0 c* U, `8 `" X1 @1 M; e5 p% Q} </FONT>2 n3 d2 h1 {% h1 Y2 \" S/ M
</P>
0 S) j( q2 j8 }& q% I4 R) N<P><FONT color=#ff0000>函数名: localtime</FONT>
3 u1 x1 M. ~/ f+ O3 E' ^功 能: 把日期和时间转变为结构
7 L- t( { \7 G \# p* L用 法: struct tm *localtime(long *clock); 8 ]7 Y0 v' H) i' z$ ]
程序例: </P>8 X5 _5 ^' ?* I e8 j! F: G
<P><FONT color=#0000ff>#include <TIME.H>
! c+ Z) ~9 |3 Y Q* o#include <STDIO.H>0 l* ?% f. K8 o" d
#include <DOS.H></FONT></P>. O0 W+ q" k* a
<P><FONT color=#0000ff>int main(void) & d- m5 n( L/ L& f
{
" J) ]3 T/ Z2 F6 P' d0 ?$ xtime_t timer; 5 u+ S5 n+ w) Z+ I" l9 f" g
struct tm *tblock; </FONT></P>
7 [3 h h- t, `/ r<P><FONT color=#0000ff>/* gets time of day */
; f+ |3 d9 @# atimer = time(NULL); </FONT></P>
* [: S) @; Z; R& k+ ^/ u<P><FONT color=#0000ff>/* converts date/time to a structure */
; S% K& x) p) u8 f- mtblock = localtime(&timer); </FONT></P>3 }' b2 A- B: l! Z
<P><FONT color=#0000ff>printf("Local time is: %s", asctime(tblock)); </FONT></P>
& d, {7 S* B0 a- `3 s<P><FONT color=#0000ff>return 0;
/ N. k9 ], C" h% |4 E$ D}
! e/ N. K$ p7 d. ~ Q, f, G/ S+ p7 L& x$ r
2 t' e, T% b" d! M' |# Q</FONT></P>
% `1 X' _' N4 H<P><FONT color=#ff0000>函数名: lock </FONT>
: ]& G( S6 J3 n. t功 能: 设置文件共享锁 5 N/ `' k* C0 v# `* G
用 法: int lock(int handle, long offset, long length);
1 u6 a9 T( _$ h" L0 }9 G- [5 a程序例: </P>
" l( }1 e( h3 \! V! b8 w2 b( o<P><FONT color=#0000ff>#include <IO.H>) i( |1 d/ t( j9 f/ Q
#include <FCNTL.H># D/ ]/ D$ g! e. l
#include <SYS\STAT.H>4 f6 H6 W9 ~& q3 F
#include <PROCESS.H>" \4 ?) j$ Y0 _7 F# ]& s Z) \
#include <SHARE.H>
4 y2 Z/ A: ]/ z6 v; W& j#include <STDIO.H></FONT></P>! N* A" X7 [0 _$ w
<P><FONT color=#0000ff>int main(void)
( }2 ^3 [* o y& e{ 9 w- q8 d$ F. t6 Y1 g. x
int handle, status; ) d6 x, q' ~8 n. B* @9 I
long length; </FONT></P>6 l0 M( E6 ~0 @- y8 _0 o
<P><FONT color=#0000ff>/* Must have DOS Share.exe loaded for */ : _9 D* k/ ~" b. i5 f1 D; g. ?6 I
/* file locking to function properly */ </FONT></P>
9 Z8 r; |& R0 |2 \8 K<P><FONT color=#0000ff>handle = sopen("c:\\autoexec.bat", 9 k% i( n: G' p6 t- G
O_RDONLY,SH_DENYNO,S_IREAD); </FONT></P>
0 Z% s! L$ j3 W6 {7 Y* j" [<P><FONT color=#0000ff>if (handle < 0)
' {, |' ^1 \4 [& r{
* M% ]" M- e) H+ Nprintf("sopen failed\n");
; @; q4 p8 W/ Z1 |exit(1); " X" Q3 `$ w, t7 b5 J
} </FONT></P>
# D: ]& L2 l. ~; }, w* X<P><FONT color=#0000ff>length = filelength(handle); ; O2 c% A7 _, t6 |
status = lock(handle,0L,length/2); </FONT></P>- X+ [: y9 U% }0 t( o. g: Q# g
<P><FONT color=#0000ff>if (status == 0) , c' c6 y) D& ]3 x) E) ^+ Y
printf("lock succeeded\n");
) ^1 L: U p+ s/ i+ Q* Nelse 7 R: [" U7 P+ }2 s
printf("lock failed\n"); </FONT></P>
1 Q2 h) i" B6 C) z, t<P><FONT color=#0000ff>status = unlock(handle,0L,length/2); </FONT></P>& p8 v. U3 v' E# Z& R+ e
<P><FONT color=#0000ff>if (status == 0)
5 F1 Y( m* d% z# }& u" A& ^: z% Iprintf("unlock succeeded\n");
# v/ d& ]2 y/ @2 a/ h8 N# G7 kelse
% g# ~! ^- y& u) E4 K6 R. W) Rprintf("unlock failed\n"); </FONT></P>1 ^) z% U" U7 s+ M/ E; A
<P><FONT color=#0000ff>close(handle);
+ `0 p' U$ N# L, P, e/ Areturn 0;
2 }2 H4 C+ W, N) X9 Z}
8 b5 |2 X" z- R% d# G</FONT>
; X/ C7 V7 B7 E' {- ?</P>
- Z$ ~: @7 z T4 R& f7 [<P><FONT color=#ff0000>函数名: log </FONT>
( j% Z9 }* e( ^( |8 ]( B- K: |( c功 能: 对数函数ln(x) ( `/ H* {. \) r3 X
用 法: double log(double x); 5 w: r3 l1 s0 w }8 B5 w% U
程序例: </P>) }% U, E7 B% P8 D# t4 x6 D( k1 `
<P><FONT color=#0000ff>#include <MATH.H>' a& n, G E+ l! D/ K: r% ]# B! i! j
#include <STDIO.H></FONT></P>
, J. O& a; _6 X# j' P<P><FONT color=#0000ff>int main(void)
; p1 D z* t$ K) T& I; z{ & W d0 s/ t5 x3 Z4 `, ~0 E
double result; + k T. F2 T* }/ `; Z
double x = 8.6872; </FONT></P>3 q1 \4 |" c) r$ m& l2 `, r
<P><FONT color=#0000ff>result = log(x);
; j( [! L Z' C( V( rprintf("The natural log of %lf is %lf\n", x, result); </FONT></P>
% n3 r( d# C$ A4 h M* `<P><FONT color=#0000ff>return 0; ' I$ D2 U. \; K( K2 x0 f8 `
}
; M1 O: K& M, V
2 o$ U$ a' D* A# H/ d U! x2 ]</FONT></P>) C ~" R8 S9 g1 I
<P><FONT color=#ff0000>函数名: log10 </FONT>
! a- L) u, n$ u4 K功 能: 对数函数log
L5 a& v* f1 O8 `. E2 O6 J8 {4 Q用 法: double log10(double x);
; r: @4 z- g7 D0 Z8 E+ k程序例: </P>
. g7 U5 l, R9 m ~) n, s) N<P><FONT color=#0000ff>#include <MATH.H>
' A2 f6 N3 E1 J: @8 Q#include <STDIO.H></FONT></P>2 C0 K1 h" _& z: ^4 _5 f
<P><FONT color=#0000ff>int main(void)
- j: w5 _2 i6 W+ _+ t0 [{
* v5 A7 ^8 k; K9 H1 ddouble result; 8 j- n9 f) A$ L
double x = 800.6872; </FONT></P>
4 H# J4 r, g. v M0 r" A<P><FONT color=#0000ff>result = log10(x);
& X7 Z/ E* W7 S. qprintf("The common log of %lf is %lf\n", x, result); </FONT></P>
5 l. V7 _- Y' L Y W<P><FONT color=#0000ff>return 0; 7 y3 l: V4 _( d: Y# V
} ; m+ \8 r$ x @' G p
( j3 y- Y( n# K h0 N2 c/ Y</FONT>
+ R q. L0 d" k</P>
4 h" a% @+ K# l9 t<P><FONT color=#ff0000>函数名: longjump </FONT>) N$ a) K( h+ u# O: b7 ^- {0 U
功 能: 执行非局部转移
' Y7 i [ y( Q$ B用 法: void longjump(jmp_buf env, int val); 6 P, L2 m/ `7 O
程序例: </P>
4 m, G C" A, u' m# ~6 g8 o( t<P><FONT color=#0000ff>#include <STDIO.H>! [$ ]" J4 R+ O$ y
#include <SETJMP.H>
7 A4 ? E) y2 n: x#include <STDLIB.H></FONT></P>
. ^- E2 g0 i# A: W; w+ s<P><FONT color=#0000ff>void subroutine(jmp_buf); </FONT></P>8 z' R/ z: e4 X
<P><FONT color=#0000ff>int main(void)
( r0 @1 I+ u2 K, d: z8 F- `: m{ </FONT></P>2 z' b( B6 Q' m
<P><FONT color=#0000ff>int value; $ \* Z+ O8 ^. w5 Z
jmp_buf jumper; </FONT></P>! ^1 H/ h6 a" i S" l% p d
<P><FONT color=#0000ff>value = setjmp(jumper);
2 a2 R0 r! l( ?" h3 a( S8 M, qif (value != 0) " t! [6 T* s7 e. `/ `
{
) V( n# J3 ?2 p& S! nprintf("Longjmp with value %d\n", value);
# F; u/ ]" l; H- E8 Uexit(value); 4 I- k2 B5 h, {: g# Y
}
+ N2 L: s* i# tprintf("About to call subroutine ... \n"); + k& o' h0 T/ s& Q9 p
subroutine(jumper); </FONT></P>
0 {+ o& @( m! N- U+ D' ^<P><FONT color=#0000ff>return 0; * v; x" F3 p# M8 V
} </FONT></P>
6 r( {% l" N% R7 y6 S4 z<P><FONT color=#0000ff>void subroutine(jmp_buf jumper) 5 f% w' W1 c2 g' \5 u* B9 O* n, K
{
/ p3 U L) l+ h* Q3 s) a8 |8 |1 clongjmp(jumper,1); ' j% `* n8 b( p8 J9 E" T
}
2 I3 @- {4 b3 e3 q' e7 r( t( O2 S
% A- Q! o! r8 {</FONT>
' K$ d3 E! [: I6 I8 R8 b& b& Y2 d</P>- v+ _7 I, ~& K$ H0 \. K5 l/ K
<P><FONT color=#ff0000>函数名: lowvideo</FONT> - H( e+ r' }, ^- Y j
功 能: 选择低亮度字符
3 m; s9 V4 }4 {$ |! |6 g* K用 法: void lowvideo(void);
8 h. }7 Y n! E程序例: </P>
* O, ]; L& A8 t) g2 l<P><FONT color=#0000ff>#include <CONIO.H></FONT></P>
, t1 B7 p; W' P( V0 D( b' W: k; G& R8 w<P><FONT color=#0000ff>int main(void)
2 j, n% ?! s1 u% b{ ! L$ a. Z$ r; e6 ?. H( S' ~
clrscr(); </FONT></P>. l, ~/ F9 R2 c! `8 G( L9 J
<P><FONT color=#0000ff>highvideo();
, R1 Z! a0 M' ]9 ]/ [1 M1 ~cprintf("High Intesity Text\r\n"); - i* W- w: U) ?8 d' |! K
lowvideo(); 2 f# W; @9 F1 N7 N5 m
gotoxy(1,2); 1 ]5 A4 g; G/ Z) @. {
cprintf("Low Intensity Text\r\n"); </FONT></P># v' f" p" b @+ `) U7 j
<P><FONT color=#0000ff>return 0; 5 f) X0 G3 \6 x" a0 m- z# w' L) N
} ! }' Y& Y3 l7 B. r+ c" t s
6 w. w3 N; j: k) q5 B0 h</FONT>9 G1 b1 c& P. z7 v4 c9 }/ C1 Z
</P>
- t2 L# N/ D+ k% [' i<P><FONT color=#ff0000>函数名: lrotl, _lrotl </FONT>
! j/ J7 F! i) a/ d功 能: 将无符号长整型数向左循环移位
9 Q+ e$ c' D. U0 ]$ r Y; T' T用 法: unsigned long lrotl(unsigned long lvalue, int count); s/ f$ W- `# ~- e: E; Y6 w" k. W
unsigned long _lrotl(unsigned long lvalue, int count); : a! g4 ~# z2 s% }
程序例: </P>) \" n: s% P/ j5 a1 {
<P><FONT color=#0000ff>/* lrotl example */
( u3 c2 x/ N3 T6 H) I% E' g' w#include <STDLIB.H>
5 j; q9 A, m& t' H- F4 X! S# r$ s# J#include <STDIO.H></FONT></P>
1 Q; f& Y7 y) b% e( n<P><FONT color=#0000ff>int main(void) 5 v0 ~3 o7 H+ [. @2 i& N
{
8 u+ [. C r! Qunsigned long result;
3 J( L9 f& J4 P# P3 G0 X M7 `' T; qunsigned long value = 100; </FONT></P>7 i* n* m" K# I D i4 E/ F
<P><FONT color=#0000ff>result = _lrotl(value,1);
2 O/ @$ b5 _. t! \: @2 @$ s, k# u- @* tprintf("The value %lu rotated left one bit is: %lu\n", value, result); </FONT></P>
+ W0 k* q. i) C% K$ y1 R- u<P><FONT color=#0000ff>return 0; s, J. h4 q) { R, n) V- I# V
} # h5 h/ i% h2 G; Q. x5 I( \
</FONT>0 F) G% ` m: J) P) ^
</P>$ ]2 W7 I! Z- Z- ^$ U9 [' V2 d. H3 u
<P><FONT color=#ff0000>函数名: lsearch </FONT>
" Y& a5 |2 F& a) g7 j功 能: 线性搜索 & [% t9 o$ F& b2 }% U- W9 t
用 法: void *lsearch(const void *key, void *base, size_t *nelem,
" B9 a m i+ U, O/ Nsize_t width, int (*fcmp)(const void *, const void *));
! E2 ?& g1 Z9 d: o" h1 |程序例: </P>3 q6 s( y6 L# j& v
<P><FONT color=#0000ff>#include <STDIO.H>
" C1 b: o9 P( R7 G8 c6 E% }2 N n#include <STDLIB.H></FONT></P>' T( P* Y0 O+ l
<P><FONT color=#0000ff>int compare(int *x, int *y)
: |8 o3 @% ], p j. j{
2 h! I- m; {0 ?return( *x - *y ); 4 _( n& t9 i0 L$ ?. s/ P
} </FONT></P>, T& q8 b9 k- b: P8 b
<P><FONT color=#0000ff>int main(void)
5 e1 q+ @' b6 a{ . e8 n" b$ \+ U0 O3 {' A( G( J6 S9 u
int array[5] = {35, 87, 46, 99, 12}; # S3 [' u6 }1 m: j0 E& k3 C" C
size_t nelem = 5;
9 P- F$ G; G0 k* `1 N8 @int key; + Y5 E; y4 T& `1 d( w
int *result; </FONT></P> }, ^7 F0 v* A* V, s
<P><FONT color=#0000ff>key = 99;
. E2 p. G1 K3 K* k0 z- s4 n) cresult = lfind(&key, array, &nelem,
7 Z# }. @( y. Q6 H. csizeof(int), (int(*)(const void *,const void *))compare);
; J) g/ u' q. g8 ]/ Fif (result) 1 x2 m$ n7 X$ E! L- \
printf("Number %d found\n",key); ( _" `; F- B3 K2 d
else
3 R( }. H0 z$ W4 aprintf("Number %d not found\n",key); </FONT></P>
: a8 h$ ~; \$ ~( j5 v<P><FONT color=#0000ff>return 0; - x6 k+ [9 v+ S* ?. p: p& {
}
& d( Q! X- _: E# E/ n8 P9 _/ H; d2 Z0 O% ?% C
</FONT>
6 _; p8 `! J7 |9 o- p</P>, ]5 U! l3 l% p6 W; I8 ?
<P><FONT color=#ff0000>函数名: lseek </FONT>
4 c- s9 g } i0 e功 能: 移动文件读/写指针 2 r4 M8 l. {# R' v+ N3 `- y* Q
用 法: long lseek(int handle, long offset, int fromwhere); , m2 R1 o0 t4 w: O' h1 @
程序例: </P>
+ ?3 q* y' x0 h. A+ V' {2 `<P><FONT color=#0000ff>#include <SYS\STAT.H>7 V6 d& R5 S6 H4 `7 H; ^" x
#include <STRING.H>" |" V3 b$ I, [$ k! n' j; Q) b
#include <STDIO.H>
! g7 @' C; M$ _ R#include <FCNTL.H>/ @* w' [' Y# R) ~# M: H
#include <IO.H></FONT></P>
, M9 b. C4 ~, c5 \ z$ u2 k% W& q. h<P><FONT color=#0000ff>int main(void)
^0 t# A& A6 u+ K7 E x0 q% f3 g L4 T{
) C" k Y7 H5 p0 ?( s3 n+ Z* lint handle;
" E9 K) ^% b7 | s( u* ochar msg[] = "This is a test";
7 x `4 H7 _2 G- N$ x: Tchar ch; </FONT></P>; W! w2 i8 q7 G8 A
<P><FONT color=#0000ff>/* create a file */
, u g2 g" g* nhandle = open("TEST.$$$", O_CREAT | O_RDWR, S_IREAD | S_IWRITE); </FONT></P>2 ~+ F) @9 e6 ~7 L- l
<P><FONT color=#0000ff>/* write some data to the file */ 7 F7 \" C {' G
write(handle, msg, strlen(msg)); </FONT></P>
0 d& R- t6 Q [% D0 C; x7 C. S<P><FONT color=#0000ff>/* seek to the begining of the file */
4 r# ?) ^) m9 |0 f8 _lseek(handle, 0L, SEEK_SET); </FONT></P>! P$ u1 T8 w1 n
<P><FONT color=#0000ff>/* reads chars from the file until we hit EOF */ ( o& R3 V: E% I+ u, T
do
7 q7 J& l' t* C. D+ G5 t{
7 A' r. Z3 {% p5 M* Kread(handle, &ch, 1); ! M+ p! x" J$ _6 n/ W- ^2 c
printf("%c", ch); 7 K6 G& ]) N7 ~ M, H+ W' M
} while (!eof(handle)); </FONT></P>0 d7 v' A9 @4 L; J
<P><FONT color=#0000ff>close(handle);
4 P W3 L" J; _$ {. jreturn 0;
0 H( J, A; ^3 [* N/ v' a7 L} $ V! C3 ^% V8 q% d6 q: r
</FONT></P>5 D" L9 m7 G2 e2 g- b9 n
<P align=left><FONT color=#0000ff></FONT> </P> |
zan
|