- 在线时间
- 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>7 ~5 |" K) q% B" c0 l
用 法: long labs(long n); ( E5 t% `# T7 X! \2 w7 @# Z& J/ w
程序例: </P>
3 }+ v I W2 F6 U< ><FONT color=#0000ff>#include <STDIO.H>. c$ ?( X1 B; g! s3 E" d/ ~8 f/ b
#include <MATH.H></FONT></P># d. A1 B! Y) _' Y* P* A
< ><FONT color=#0000ff>int main(void)
{. z6 v3 l8 ?- R; u/ U" X{
- J* O. m! c/ ?9 Clong result;
- R! ~# Y3 x& R1 Plong x = -12345678L; </FONT></P>
4 ]; U% ?7 B& a7 o0 E3 Z3 [, [< ><FONT color=#0000ff>result= labs(x);
- _! k' u* f/ |0 O. Oprintf("number: %ld abs value: %ld\n",
2 _) I; E& K! ~) S+ H" l8 M9 Yx, result); </FONT></P>
% j$ r5 [- k9 P6 C2 _" o< ><FONT color=#0000ff>return 0;
. O! v" _& T5 |, o5 |5 J+ q}
: \7 I, A, i# {* e3 a) a3 L</FONT>+ c* U# U) O6 X9 ?* I
; z0 j, E h5 |7 i5 s4 f7 Q1 N1 X
</P>( _6 ]6 X# w: v
< ><FONT color=#ff0000>函数名: ldexp </FONT>$ x. ]1 o V/ B' h% R6 {0 h9 }
功 能: 计算value*2的幂
: s4 B# i$ ?" b2 ] O用 法: double ldexp(double value, int exp);
1 c6 U+ v/ X- S5 s( L8 J" T! |9 S) ~程序例: </P>
, x, O! X' c1 K2 ~) i9 q p# P< ><FONT color=#0000ff>#include <STDIO.H>
1 F2 o1 f+ x \% D& t4 b% _#include <MATH.H></FONT></P>& v) V$ X' u" e+ r1 |( y
< ><FONT color=#0000ff>int main(void)
2 |# m$ Z$ U) `; L3 B{
7 Q* s& s& E5 z& p* H/ P% ]2 Mdouble value; ( a, e* {6 o+ b% D; j( l6 u0 c
double x = 2; </FONT></P>" _1 K8 w5 W. q, M% e; M. c* I. H
< ><FONT color=#0000ff>/* ldexp raises 2 by a power of 3
) U; y: y! {. w$ X2 Ethen multiplies the result by 2 */
- B( R( |1 j- N' G c5 i' zvalue = ldexp(x,3);
% ~* s5 G6 b7 [+ g: I4 cprintf("The ldexp value is: %lf\n", * O# a7 e- t4 |7 o5 D
value); </FONT></P>1 `2 k" D- Q3 g$ x
< ><FONT color=#0000ff>return 0;
, E" k4 O' T* K5 j, \} . O- `; V. h7 }4 V( h I
+ ~( }& N9 A2 H& D% t</FONT></P>
3 x6 k# ]/ K# L4 @% Y! a$ m9 c& K< ><FONT color=#ff0000>函数名: ldiv </FONT>
' J9 L. K4 `2 v1 X, G2 v0 F- w3 _功 能: 两个长整型数相除, 返回商和余数
/ u7 j# h2 f( H0 h5 q用 法: ldiv_t ldiv(long lnumer, long ldenom); ! J0 N8 z: \! f! j% P
程序例: </P>
, o, B8 G! Q1 P6 I( ?' p' G< ><FONT color=#0000ff>/* ldiv example */ </FONT></P>" L& U; z1 J1 R8 t
< ><FONT color=#0000ff>#include <STDLIB.H> \, c$ m! c q9 W8 B1 ~
#include <STDIO.H></FONT></P>! B% L. h& R' b" @# [/ N: x
< ><FONT color=#0000ff>int main(void)
* j' J- i- R z9 {{ , Z: ?3 ?+ R; n9 N+ B" ?9 F) g6 @
ldiv_t lx; </FONT></P>
3 J1 B( T4 y: L- n2 W. T< ><FONT color=#0000ff>lx = ldiv(100000L, 30000L);
: O- n2 `& H/ g0 a3 Nprintf("100000 div 30000 = %ld remainder %ld\n", lx.quot, lx.rem);
2 o4 `% X4 n! d$ y$ Q; Treturn 0; </FONT>; Q; j' ?6 v, R
<FONT color=#0000ff>} </FONT>
1 K% e3 d, ~2 b- }" x2 ^- W</P>
. b+ N, J. `: l- ~, Q/ p7 Y' O< ><FONT color=#ff0000>函数名: lfind </FONT>! ]4 q7 |+ p, U; I
功 能: 执行线性搜索
# c- `/ ?7 H) U: X+ G" B用 法: void *lfind(void *key, void *base, int *nelem, int width, 0 i$ N& i" T" [! r. V8 E* j
int (*fcmp)());
+ J- D( J3 m) ]程序例: </P>" [$ b7 c- b T" H, w
< ><FONT color=#0000ff>#include <STDIO.H>* h, D+ J- F( G! `, T m
#include <STDLIB.H></FONT></P>6 p+ Y6 v7 v# E- R; p/ G+ @
< ><FONT color=#0000ff>int compare(int *x, int *y) * K' b4 g( t. {$ d6 T1 L" Y
{ ! h/ M- o% m9 N- `! i
return( *x - *y );
. d4 c4 K( A" M( p; e+ x- j} </FONT></P>
; i0 N/ Y6 B( c+ t! e5 |< ><FONT color=#0000ff>int main(void)
. ?; ^; m: X$ S{ $ Q" p/ c' d, Y% W2 d6 c
int array[5] = {35, 87, 46, 99, 12}; 3 E# e! O/ L! l! Y9 s- w
size_t nelem = 5;
, V# E# I% g1 f. a8 n$ K' Qint key;
# S/ d1 X5 s" p% G0 jint *result; </FONT></P>6 h& U2 D' w- N' d/ Z
< ><FONT color=#0000ff>key = 99; ; {! n! r1 T7 g* j2 Y3 p( g1 L6 C; |) f
result = lfind(&key, array, &nelem,
9 |+ m+ B! ]6 N( `) @9 |sizeof(int), (int(*)(const void *,const void *))compare);
! q+ ?. _9 d3 t* l( aif (result) 0 n; I* Y) D4 C0 \
printf("Number %d found\n",key);
, O( l$ v3 H* b2 Qelse
5 I, W4 l: k* m1 z% z2 Fprintf("Number %d not found\n",key); </FONT></P>. Y! L* x3 E, g1 u
< ><FONT color=#0000ff>return 0; 5 y: ` ]& n' X
} </FONT>
0 ~) K9 v R8 ~& X! u! K$ r% Y
/ s7 v) i/ F0 q d</P>
" V; Q! p6 e9 q' k" }< ><FONT color=#ff0000>函数名: line </FONT>
) h: j5 z$ T7 r) G! o! Y6 k2 V功 能: 在指定两点间画一直线
0 ~! C5 U- x) u用 法: void far line(int x0, int y0, int x1, int y1); % b6 w; O9 U7 f1 r$ u9 r
程序例: </P>3 ~9 \; @5 O* ?! K2 U
< ><FONT color=#0000ff>#include <GRAPHICS.H>
+ U( }) t* \( X#include <STDLIB.H>; P7 u. Q4 g* q9 |
#include <STDIO.H>3 i7 g, Z- n% U
#include <CONIO.H></FONT></P>9 d* y! i* w/ p5 D
< ><FONT color=#0000ff>int main(void) * H! n2 z3 y4 x
{
, i' l3 S; J. l* `4 A6 a/ M2 U/* request auto detection */
2 e5 S# T$ ]. H* b" y1 Q, x% fint gdriver = DETECT, gmode, errorcode;
1 X( c, S( s0 z3 s- Xint xmax, ymax; </FONT></P>
/ U/ c- D7 G9 _ N) g< ><FONT color=#0000ff>/* initialize graphics and local variables */
* ?1 X( C9 h* r( x+ Einitgraph(&gdriver, &gmode, ""); </FONT></P>
1 r6 f1 y! f' h4 V1 Y; p< ><FONT color=#0000ff>/* read result of initialization */
2 N$ O0 c( x) c. a; `errorcode = graphresult();
1 @2 Z% t' W/ I( a/* an error occurred */ 6 D9 [$ R, G1 g2 s0 X! h4 K
if (errorcode != grOk) 1 f" I+ _/ k. |9 l! M2 }
{ ( N8 O! g$ G8 Q$ b& o% U/ t7 N3 d$ j
printf("Graphics error: %s\n", ; e# \2 {- F$ D6 R* p
grapherrormsg(errorcode)); 8 O( k9 X7 l1 H4 t
printf(" ress any key to halt:"); 9 K) c+ H, |4 f: f9 M. \
getch(); 6 j$ w% z: I- {; A3 t/ x# L
exit(1);
2 W& F! X! R1 K} </FONT></P>2 q& c2 C5 b- `4 m
< ><FONT color=#0000ff>setcolor(getmaxcolor()); % ^5 F7 t7 Z- l8 E
xmax = getmaxx(); ) |0 z' k& P0 r* u7 a
ymax = getmaxy(); </FONT></P>9 @7 \9 s* l& L+ I% R( Q* U
< ><FONT color=#0000ff>/* draw a diagonal line */ & K) g0 h2 p2 D2 r7 S2 v
line(0, 0, xmax, ymax); </FONT></P>2 H* O2 t2 ~: W
< ><FONT color=#0000ff>/* clean up */
1 Z6 `6 m7 j: `$ o% P$ rgetch();
+ D/ J9 D" J8 l2 sclosegraph();
& M3 Z/ G& ~& S$ R# P2 {return 0; 5 y9 Z% p& I6 m- x* W
}
4 ]( K. X$ X: [3 S6 K5 a</FONT>
# E) f3 @; \9 ?9 o</P>! A3 E' j, r. q X
<P><FONT color=#ff0000>函数名: linerel </FONT>
2 j1 G- q1 b* l0 z7 R% f) D功 能: 从当前位置点(CP)到与CP有一给定相对距离的点画一直线
) X7 [5 b( k; ~) B8 Y, f" G用 法: void far linerel(int dx, int dy); 1 C5 c, K; \9 O# ?0 p
程序例: </P>0 r; n, d& T7 F/ }- h6 m2 H2 ^
<P><FONT color=#0000ff>#include <GRAPHICS.H>7 u- Z$ @- n C+ \9 t3 h
#include <STDLIB.H>. M( l0 t5 L0 [% B# u' q! a
#include <STDIO.H>6 l' z- o+ Y( ]" c4 F
#include <CONIO.H></FONT></P>5 W, C" j2 C# k# t( K% Q9 |; p
<P><FONT color=#0000ff>int main(void)
# t, u: T. b# o{ $ Q. ]$ ]+ W& L( @8 @" P3 G' t8 j
/* request auto detection */
" y% d9 H# j* M9 G6 e8 {int gdriver = DETECT, gmode, errorcode;
8 X/ `( N1 s; t9 J2 `5 wchar msg[80]; </FONT></P>
2 B0 H* o9 `( D<P><FONT color=#0000ff>/* initialize graphics and local variables */
. k% G- W1 h8 k. {! G! z. Z: Rinitgraph(&gdriver, &gmode, ""); </FONT></P>
5 V; X7 d2 ^1 ~% T- ?<P><FONT color=#0000ff>/* read result of initialization */ 5 v4 k) l% d8 b9 }( q, g" B2 _! y
errorcode = graphresult();
7 s: {5 T% l$ S) D' mif (errorcode != grOk)
, N0 z5 w4 H! q9 t( n{
8 y& c( d4 I# s# m" Eprintf("Graphics error: %s\n", : Y$ x& U. J% Q! u; a4 j% x
grapherrormsg(errorcode));
, c7 S: ] }% vprintf("Press any key to halt:"); 1 c, C% ?) l2 v$ l6 u! V: H
getch();
" ~' i: g4 T- u& }exit(1); 6 {* R, [. O( U! K5 u
} </FONT></P>+ d* I* {+ R+ ?
<P><FONT color=#0000ff>/* move the C.P. to location (20, 30) */ # a/ J/ D. L, t
moveto(20, 30); </FONT></P>
( H( t2 U( U% J. _0 T6 m: E<P><FONT color=#0000ff>/* create and output a
7 B5 w( R* G% u6 \( ~, S8 u$ z& [' Rmessage at (20, 30) */
7 I' k2 G2 A: j* m6 Xsprintf(msg, " (%d, %d)", getx(), gety()); # A! x' c5 f+ L
outtextxy(20, 30, msg); </FONT></P>
. g6 C2 Y4 O! Z) `% {3 P<P><FONT color=#0000ff>/* draw a line to a point a relative
* h8 U! [$ R8 P3 P' F& t( Ldistance away from the current 0 J' C. c' y: \7 o4 _2 t
value of C.P. */ . ?4 [" |% _8 G9 w( g2 H( ^( R* q& r
linerel(100, 100); </FONT></P>
+ Z3 \ b# a5 o" V' ]. f<P><FONT color=#0000ff>/* create and output a message at C.P. */ * Z/ |- M+ @1 _5 u
sprintf(msg, " (%d, %d)", getx(), gety());
# }6 r& U6 V; \, S+ F# pouttext(msg); </FONT></P>. g5 g% n, S% k+ F5 B& }
<P><FONT color=#0000ff>/* clean up */ + v' t: R* f& N
getch(); 8 R# {. v' t9 G+ L- U
closegraph();
f6 z" ?7 [, xreturn 0;
# w' G" [ j6 i4 t' G9 @! p} </FONT>
7 @2 W' j1 w3 \" l</P>. k2 h0 E# `, J1 U- s' R9 ~
<P><FONT color=#ff0000>函数名: localtime</FONT>
5 |- N: H; u* \- x1 h q8 A# S {功 能: 把日期和时间转变为结构
; N: N; \+ u5 e6 \0 U( ]用 法: struct tm *localtime(long *clock);
0 s# K# U0 b. ? X0 d1 ^程序例: </P>
, L1 N* C, c- J8 c<P><FONT color=#0000ff>#include <TIME.H># [0 d. @) J3 l P" o
#include <STDIO.H>
( o# M: g8 E8 x [/ P& K#include <DOS.H></FONT></P>2 a2 t0 h' e X! S* C
<P><FONT color=#0000ff>int main(void)
- m: H- \( g" y{ 0 d4 n3 ?+ m1 V0 [
time_t timer; 7 |$ r$ a' V6 R8 Y( \/ }+ Q- {; D
struct tm *tblock; </FONT></P>
+ H# y; W7 `: F( E<P><FONT color=#0000ff>/* gets time of day */ - W5 ?! e. I' A: h8 I
timer = time(NULL); </FONT></P>
8 Y* a9 W& u$ Q3 F! C<P><FONT color=#0000ff>/* converts date/time to a structure */
2 _0 o# q( P5 [$ A1 dtblock = localtime(&timer); </FONT></P>
6 D8 d* _$ L L! A3 m<P><FONT color=#0000ff>printf("Local time is: %s", asctime(tblock)); </FONT></P>
2 ^! t! k4 b! j& j$ G: K9 U<P><FONT color=#0000ff>return 0;
) |/ T3 p, U0 W! H& E}
6 p8 H6 L ?$ P$ ]; w/ r6 m& m5 _
. [9 Q( ~$ \# K2 G; z& a2 b$ p$ S' H+ E
</FONT></P>" l* j6 n. g4 t1 C. S
<P><FONT color=#ff0000>函数名: lock </FONT>
6 R' G' x8 m2 @功 能: 设置文件共享锁
7 W, R1 J6 D3 I* d* w0 X) |用 法: int lock(int handle, long offset, long length);
7 t' P3 ^. v3 m& i/ j程序例: </P>- P+ s& c2 ?6 E1 D7 U5 X9 n/ F' F
<P><FONT color=#0000ff>#include <IO.H>2 N4 f# I$ y6 K3 h" H' v2 R5 W
#include <FCNTL.H>
8 m; Z) a( V* B6 V#include <SYS\STAT.H>
& a4 v7 ~: z9 \% _& h! B7 t#include <PROCESS.H>
+ @: p6 M; h( a#include <SHARE.H>$ E9 ?$ ^: ~$ l7 y$ A' e% \
#include <STDIO.H></FONT></P>! Y5 M. F! y& p- _; r
<P><FONT color=#0000ff>int main(void)
/ W8 A# l. Y6 [6 Z{
5 ^) r r, X+ T! C& h7 S9 sint handle, status; 1 a/ I2 w! B7 D/ s+ G: }/ `2 S
long length; </FONT></P>' }* K3 x6 v0 b3 K5 J8 j! y1 O" q
<P><FONT color=#0000ff>/* Must have DOS Share.exe loaded for */
1 |1 m, v1 e% t9 S$ G+ d* ?/* file locking to function properly */ </FONT></P>8 I( q( e" u5 ]* b, B4 H, |
<P><FONT color=#0000ff>handle = sopen("c:\\autoexec.bat", * `. s) V% ?$ y- ^5 q
O_RDONLY,SH_DENYNO,S_IREAD); </FONT></P>
4 u* g t) o) s1 V) ^<P><FONT color=#0000ff>if (handle < 0)
* S# ]( |4 ^# h5 r! E. F{ : L |1 _9 u/ W7 b
printf("sopen failed\n"); ) Z$ F8 f' e- O W2 n2 n; }
exit(1); 5 C" ]; @# U: l, O+ W2 S
} </FONT></P>
# R2 D+ @3 z0 V* g1 D3 x% k<P><FONT color=#0000ff>length = filelength(handle);
! X% x ]3 c# X& Z H/ bstatus = lock(handle,0L,length/2); </FONT></P>
7 B" |+ E+ X \: o+ l4 g/ G<P><FONT color=#0000ff>if (status == 0)
( K. L0 g1 _( j. L4 Iprintf("lock succeeded\n");
6 q- Q. ]+ y$ {+ S; _else
3 \/ q3 G8 x% u* l4 w5 eprintf("lock failed\n"); </FONT></P>' y5 L+ C. f' N7 `1 u- f$ |
<P><FONT color=#0000ff>status = unlock(handle,0L,length/2); </FONT></P>
( M6 K2 r/ i8 k3 ~) [# M/ T<P><FONT color=#0000ff>if (status == 0) 8 ]0 b* @2 J5 U" Y1 K& a" H
printf("unlock succeeded\n");
# M. o, j) |9 B3 |2 z9 j1 a% uelse X5 |& N6 b' W$ Z$ T2 z
printf("unlock failed\n"); </FONT></P>
4 q" R+ W/ p4 q* m1 q$ [<P><FONT color=#0000ff>close(handle); ' b# j' w4 H% q# `$ }1 H
return 0;
1 l" P' u7 A/ _}
1 C$ g, `2 l+ Z/ Q2 B</FONT>
. a8 m; K! w& s! `4 D1 G</P>& i' Y0 |7 S) q2 j8 q6 M# K
<P><FONT color=#ff0000>函数名: log </FONT>
% u& O# r5 Z! V功 能: 对数函数ln(x)
6 A. a* b4 [2 m用 法: double log(double x);
, ?5 J& n3 l% B( s7 a m程序例: </P>
7 ~: t+ u$ z. ~4 q& n( c<P><FONT color=#0000ff>#include <MATH.H>
I4 x: D& E0 t; h0 Y% |9 [5 K! a#include <STDIO.H></FONT></P>
, T( [6 V9 J* y# r<P><FONT color=#0000ff>int main(void) ! ~/ G; L3 W$ o4 a
{ 1 {" c8 \/ `& N( |" m
double result; - K/ t1 E" H) r1 O3 |. Y
double x = 8.6872; </FONT></P>& z; [. [% C) x! M: E; M
<P><FONT color=#0000ff>result = log(x); 6 [. p4 {; R" @( d2 d& n
printf("The natural log of %lf is %lf\n", x, result); </FONT></P>& }* `2 L% K+ {. Y# q: T
<P><FONT color=#0000ff>return 0; 3 _1 [! G4 A4 J% `$ ^6 X
}
3 F+ l7 g8 K$ u4 _% Q: o
* u, k' \) u& F' \) ^3 E* W</FONT></P>6 n4 g% C1 }2 Q+ `- z% i" I
<P><FONT color=#ff0000>函数名: log10 </FONT>
! Q# P3 H, w2 l6 V( t2 E功 能: 对数函数log
! ^% h2 |. Y+ [0 n X6 o用 法: double log10(double x);
, d5 v* m+ [: w- W5 ]3 Z程序例: </P>
( T7 w' v: r( M1 |1 k* V<P><FONT color=#0000ff>#include <MATH.H>, q6 X2 z1 o2 M4 O6 p' }
#include <STDIO.H></FONT></P>
6 A$ |$ N. T _8 E7 u0 R8 m6 A<P><FONT color=#0000ff>int main(void)
+ R! @+ h! V: g$ d3 Z1 w{ & E' I2 ?" r# J0 p+ ^; j$ Z6 |# o
double result;
* {! o8 O8 d8 L3 ^ G: B# odouble x = 800.6872; </FONT></P>9 @( F3 b6 ^) |: Z
<P><FONT color=#0000ff>result = log10(x);
& @/ @0 Y0 r; d/ f' nprintf("The common log of %lf is %lf\n", x, result); </FONT></P>' d0 ]2 O* ^ U; p6 K
<P><FONT color=#0000ff>return 0;
- J( u6 `; {$ e" {}
( D5 _' _2 E5 X$ O3 I. g8 N ? y- d, M1 g7 v& z
</FONT>% N: H. U9 U& A8 T9 E) H& \0 ~
</P>% G6 R# T9 R0 @1 F8 [% K; P
<P><FONT color=#ff0000>函数名: longjump </FONT>
. t" l7 Y2 I& Z9 G. Z& M* p功 能: 执行非局部转移 + N4 d5 T/ M' A/ l; D4 v' O
用 法: void longjump(jmp_buf env, int val); ; o# p! b% C) G' F# }* g9 t
程序例: </P>
* p# b4 q; e. O) k2 g' g" Y<P><FONT color=#0000ff>#include <STDIO.H>
u1 h$ L4 u! y4 R- e#include <SETJMP.H>$ q) i3 S) a- x
#include <STDLIB.H></FONT></P>' G% j5 P: Y, F8 G- E# `# f! G
<P><FONT color=#0000ff>void subroutine(jmp_buf); </FONT></P>+ x1 f0 c/ Q1 p& Y0 @$ O& n
<P><FONT color=#0000ff>int main(void)
. D; z, w6 D" E{ </FONT></P>5 e' D* P; J; e/ r9 V; r% m
<P><FONT color=#0000ff>int value;
( l' w9 F1 V1 T' u7 F; z3 _jmp_buf jumper; </FONT></P>' J. v+ U, k2 J& q/ K. F
<P><FONT color=#0000ff>value = setjmp(jumper);
8 R1 v( I! X. z; L( F* K: |if (value != 0) 6 {$ K8 L2 G' W
{
) c) X! i+ L* a) w' M! Uprintf("Longjmp with value %d\n", value); : H4 \* L* P$ `6 u2 J
exit(value); ' r( j! ` J! r- P7 O& t# z
}
* A& a9 ^/ J; g0 `0 }: }2 gprintf("About to call subroutine ... \n");
/ m p' {/ O/ \$ P7 Gsubroutine(jumper); </FONT></P>
@2 I6 z8 m: ^" g5 F7 H<P><FONT color=#0000ff>return 0; ( ?/ P5 m- p: v Q
} </FONT></P>
6 b' h2 J) b. m2 M5 V N<P><FONT color=#0000ff>void subroutine(jmp_buf jumper) 4 F, E' K4 P$ g4 F
{
6 j2 }) u8 T, H; R& Glongjmp(jumper,1); , Q$ M8 O- t* H( r% v# l
}
z h0 G* H" r$ Y( U0 @- r) l$ Z
</FONT> s+ C/ K d% ^4 f0 K! l
</P>$ Z, N. @0 d y' P6 a, `
<P><FONT color=#ff0000>函数名: lowvideo</FONT> * J9 R# I! e) T% |- p5 J/ W
功 能: 选择低亮度字符
: H: ]7 U3 I3 p4 Y8 n用 法: void lowvideo(void); 8 E! x- Z8 o) i- h; ]) ~1 P; O4 A
程序例: </P>" S8 I/ _% `& O" g$ o$ l
<P><FONT color=#0000ff>#include <CONIO.H></FONT></P>4 _& L. g3 k8 |
<P><FONT color=#0000ff>int main(void) ; X. n9 U: @" k3 @# U5 |3 | E
{
% o( Q% t" N) @( Sclrscr(); </FONT></P>( Q; g/ t8 C5 Q- n, X: q
<P><FONT color=#0000ff>highvideo();
/ L7 I# m( s" Q8 w0 R5 qcprintf("High Intesity Text\r\n");
8 A3 ^, o& D! llowvideo();
# b# X: a! `8 S! C% \) B; Jgotoxy(1,2);
7 B0 q- K a, Lcprintf("Low Intensity Text\r\n"); </FONT></P>
" \: n' S! D! M' o% i<P><FONT color=#0000ff>return 0; 6 [( [5 E. r% A B+ R
}
& }! a6 E8 k0 |4 D0 f
$ k3 X u0 h( R! {7 S</FONT>4 j! A) Y, U. e
</P>
6 L. x, A8 X2 [- |<P><FONT color=#ff0000>函数名: lrotl, _lrotl </FONT>0 S- W; G- [8 {" u- i+ k6 y
功 能: 将无符号长整型数向左循环移位 4 g' n. V& s3 C) g
用 法: unsigned long lrotl(unsigned long lvalue, int count);
2 a8 n+ @9 P5 ]' Hunsigned long _lrotl(unsigned long lvalue, int count);
5 }$ g$ p0 _) o# n; E+ }程序例: </P>* {* l3 q8 Z) c8 v6 X
<P><FONT color=#0000ff>/* lrotl example */
; V: a/ i" X1 X7 Q3 ]#include <STDLIB.H>
) a$ b) S2 |6 S& ?' F$ `" |7 E#include <STDIO.H></FONT></P>
- P" l T/ C# v1 h. U0 C<P><FONT color=#0000ff>int main(void)
! T% q1 z4 Z6 ~: O$ L{
# ?8 R/ |+ I+ v4 H1 Ounsigned long result;
; \8 ]: z6 \/ c/ D" F0 g7 wunsigned long value = 100; </FONT></P>+ R" D: M/ n3 }; D
<P><FONT color=#0000ff>result = _lrotl(value,1); # |; F/ ]- C' ]. [3 D" b- [
printf("The value %lu rotated left one bit is: %lu\n", value, result); </FONT></P>
' ]* L( Q% O# k, X2 }. I<P><FONT color=#0000ff>return 0;
, H7 L+ @1 u: t} 2 t4 } X8 {" G
</FONT>
* Q8 }0 P5 M; q" W& ^, x( B</P>
% n! c6 @4 F, v( o& N y2 p4 `<P><FONT color=#ff0000>函数名: lsearch </FONT>' o4 g0 i3 M8 ]! Q: \4 m
功 能: 线性搜索
; A% p# k' ]3 E3 |0 G用 法: void *lsearch(const void *key, void *base, size_t *nelem, 6 j- H$ t4 V, m
size_t width, int (*fcmp)(const void *, const void *)); 0 r# @7 D' F1 K) D- y* m1 a q1 F! \
程序例: </P>
7 P: d5 s) m% _' X5 f1 X V1 N$ K<P><FONT color=#0000ff>#include <STDIO.H>
' Q4 g% ~8 V I#include <STDLIB.H></FONT></P>( Q# D0 p# x$ s3 E! I- Q7 j
<P><FONT color=#0000ff>int compare(int *x, int *y) 9 N7 v. h) t% W& y( S# [
{ : r8 m* f' ?3 q, x: j
return( *x - *y );
# ?; I6 |) b# o9 J} </FONT></P>% s" I7 X" |# @) A- @# c1 `
<P><FONT color=#0000ff>int main(void)
6 @5 }* P% _2 s{ + `: f, q; N9 B' ~* P% G6 W$ i
int array[5] = {35, 87, 46, 99, 12};
R/ V6 s% m$ D+ n U& Isize_t nelem = 5;
2 v' S4 y7 L; _- O$ B( |- A4 Mint key; 8 E& B+ f% ?1 f' N/ C6 {
int *result; </FONT></P>
5 d' m7 Z: w8 A- H- [9 I0 I<P><FONT color=#0000ff>key = 99;
! ]& T# _1 Z7 E8 |result = lfind(&key, array, &nelem,
5 ~6 E( ^3 S$ ]8 S$ s9 lsizeof(int), (int(*)(const void *,const void *))compare); 2 c6 G4 V1 i9 _
if (result) % f& ~2 X2 e+ O4 {+ ^; f5 f
printf("Number %d found\n",key); ( q/ B# v: s5 x M
else
3 o' g- ]1 S4 Z% ~; B( S( Z) \$ l7 Aprintf("Number %d not found\n",key); </FONT></P>
. F- v% t1 m2 k" E1 C<P><FONT color=#0000ff>return 0;
+ P2 f) g" X( H& V}
9 @: U6 ?+ O( f* f7 @
5 }! X( [1 W6 Y$ J</FONT>- x& |; N6 W' m. X7 y! R2 f
</P>& G- c( x& Q V1 W, V$ W2 W8 D
<P><FONT color=#ff0000>函数名: lseek </FONT>4 A- k5 r/ A+ O+ L
功 能: 移动文件读/写指针
7 M F) V! U1 V/ V# i$ C( r& y9 ?用 法: long lseek(int handle, long offset, int fromwhere); 5 c2 E& V0 n( z5 d! I
程序例: </P>
3 P7 f- V1 u* d( `1 U2 N) v2 N<P><FONT color=#0000ff>#include <SYS\STAT.H>
9 T% l$ J5 U8 w8 g( ^#include <STRING.H>
2 I- z& ]* ~ o( Q( c [) d8 y5 S#include <STDIO.H>
2 { I2 M9 Q7 W( D& j0 E$ ]#include <FCNTL.H>6 v8 q! m7 a* g8 ?: H+ p
#include <IO.H></FONT></P>% s2 V: [ z5 V4 b, k! q
<P><FONT color=#0000ff>int main(void) * _, v" r+ t1 {; [* _
{
7 f# m& k: i6 N6 sint handle; 7 K% x# F- D/ C! ]
char msg[] = "This is a test";
0 [1 L2 g- ]9 _$ nchar ch; </FONT></P>
7 m& ]% c5 ] X) ^$ @<P><FONT color=#0000ff>/* create a file */
+ Y% s$ I u1 I) q; q' C( L3 zhandle = open("TEST.$$$", O_CREAT | O_RDWR, S_IREAD | S_IWRITE); </FONT></P>
& F0 ^2 \5 O* S" N2 F<P><FONT color=#0000ff>/* write some data to the file */
9 y; v% e, R; {6 \7 s5 Xwrite(handle, msg, strlen(msg)); </FONT></P>1 U& ^2 B/ u) S6 i! g0 ^
<P><FONT color=#0000ff>/* seek to the begining of the file */ $ s9 }0 y; ]! s4 J7 }6 F$ d* B; b/ w
lseek(handle, 0L, SEEK_SET); </FONT></P># K- F6 H4 x) b3 `
<P><FONT color=#0000ff>/* reads chars from the file until we hit EOF */
3 k5 k% `' [6 R ydo / d+ |- k) U+ P# P: j2 w' E$ j
{ 2 {6 n* S# {3 d: b" b. z+ a
read(handle, &ch, 1); $ w% l1 P* _% O1 `
printf("%c", ch); + x. A/ k' G$ P2 q0 {1 m
} while (!eof(handle)); </FONT></P>
) e4 S4 X. ] a- K( G<P><FONT color=#0000ff>close(handle);
( \* k) g' m; i4 U8 areturn 0;
* p9 i: v) a: A$ e8 P}
5 g$ f$ J) o6 F5 @; z% S</FONT></P>! Y4 z+ D v' E$ _3 K ^
<P align=left><FONT color=#0000ff></FONT> </P> |
zan
|