QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1901|回复: 0
打印 上一主题 下一主题

函数大全(q,r开头)

[复制链接]
字体大小: 正常 放大
韩冰        

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-4 02:55 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
<><FONT color=#ff0000>函数名: qsort </FONT>0 ^8 M9 W* p$ J( I2 w" ^, J' ~& D* @
功 能: 使用快速排序例程进行排序
! _5 w, h, v2 a* h! u3 ~; m用 法: void qsort(void *base, int nelem, int width, int (*fcmp)()); 9 f5 t6 {; b! |  a
程序例: </P>
8 k: u" j/ P7 X4 w9 P7 ^<><FONT color=#0000ff>#include <STDIO.H>! ]/ e. b7 K. t1 g- J0 y
#include <STDLIB.H>3 c+ b- T( g! f
#include <STRING.H></FONT></P>/ m5 y+ w. t5 o/ K- p
<><FONT color=#0000ff>int sort_function( const void *a, const void *b); </FONT></P>
* r7 f% n* g" x  m8 A- R<><FONT color=#0000ff>char list[5][4] = { "cat", "car", "cab", "cap", "can" };
9 T% k" {6 V; _; n: b; q0 m</FONT></P>( l. X2 A% @- b& }
<><FONT color=#0000ff>int main(void)
, p5 C+ y0 H4 A5 C4 F4 m{
2 P! i4 L$ G! ~& j0 A$ H3 v9 Zint x; </FONT></P>
( b6 K9 \9 f4 L" N& v3 u$ z<><FONT color=#0000ff>qsort((void *)list, 5, sizeof(list[0]), sort_function);
" G1 n, H" n4 b; rfor (x = 0; x &lt; 5; x++) $ |+ v/ \, D  A( J6 [
printf("%s\n", list[x]); 3 \& v3 I0 n8 H+ L
return 0; 2 R* v" A3 x" v, u
} </FONT></P>8 u# v" ~4 ~# x- i- v
<><FONT color=#0000ff>int sort_function( const void *a, const void *b) 5 s% d/ z) J/ K6 e& D% s) w$ R
{
& S3 \! b( R; X& K% @, \! C. rreturn( strcmp(a,b) ); : u- Q+ V6 U! D, ]
} </FONT>
$ p* W. B6 O$ t/ E" s: D) r</P>5 n- @  h# x; P8 g; I# B+ j

$ q6 o8 b$ B$ Q7 {- y
, C2 D5 r. r7 L1 h<p>
5 P. B# @! Q" a: o0 I: A; s% x. v5 U<><FONT color=#ff0000>函数名: qsort </FONT>
. J* v) j% ]( L% B$ o  V9 F# D& }功 能: 使用快速排序例程进行排序
* J! P: w; o, h" \& V( W用 法: void qsort(void *base, int nelem, int width, int (*fcmp)()); 0 ]5 a$ S. M% V4 m
程序例: </P>% W" U8 P0 v1 R3 X5 _/ o' Q
<><FONT color=#0000ff>#include <STDIO.H>' a+ G) ?3 r& [6 n1 s5 V
#include <STDLIB.H>
' N5 L4 \# _, Z, c* s/ j, \#include <STRING.H></FONT></P>$ \: f8 w& j. b  L: T( V. i& L
<><FONT color=#0000ff>int sort_function( const void *a, const void *b); </FONT></P>+ y7 e9 M* A1 ]( u6 `% H, F. P
<><FONT color=#0000ff>char list[5][4] = { "cat", "car", "cab", "cap", "can" }; ) c3 Q8 S/ A/ F5 s  J# O9 T, _$ [
</FONT></P>. m3 G+ n. n: x
<><FONT color=#0000ff>int main(void) % t2 X8 Q. k9 D* ~, ]
{ 9 R$ y. O7 v4 I9 W3 }3 ~
int x; </FONT></P>% F  Y( z9 O5 U$ p( ?& h
<><FONT color=#0000ff>qsort((void *)list, 5, sizeof(list[0]), sort_function); ! n" v% M2 W. u6 |' q8 K
for (x = 0; x &lt; 5; x++) 4 [7 J( M; _% l) u8 ?  e
printf("%s\n", list[x]);
3 d! o9 _# m8 V8 q( @! Z2 d2 ?return 0; + W: z; w" W0 X, u
} </FONT></P>5 R& U1 [2 `, D1 Z, H
<><FONT color=#0000ff>int sort_function( const void *a, const void *b)   f: c+ V6 m( h% E1 Z
{
' C( I7 {: b/ ~" xreturn( strcmp(a,b) );
0 Y' w) v6 c' u- Y* f3 d: F}</FONT></P>) X! r. |7 w5 [# B, [' k0 ?, e
<><FONT color=#0000ff>
( ~* I% a1 p; @- x</FONT>* S1 X8 Y" p3 `+ _! ?. s, i
</P>
5 b. m2 B& P- u) m6 U8 Z0 Q+ ?6 ]# w+ C<><FONT color=#ff0000>函数名: raise </FONT>. ~3 |7 G3 }, V$ ^& E/ Q
功 能: 向正在执行的程序发送一个信号
; O. X+ e7 y' ^7 D/ A  {6 B: X用 法: int raise(int sig);
. @3 t3 W  A8 U7 H. O程序例: </P>8 |6 I' R6 X3 k' E/ G, T. @
<><FONT color=#0000ff>#include <SIGNAL.H></FONT></P>  u# j0 v9 W6 P& h) U, r" B$ ?
<><FONT color=#0000ff>int main(void) 3 B6 K' T: f; X" E0 W
{ 8 y3 T# y8 R" x3 N8 T9 a# Z
int a, b; </FONT></P>& C" X9 i. F+ |, Y5 W& c1 ~7 }/ T: L
<><FONT color=#0000ff>a = 10; # Y- y  r: w& R( ^& |& ?
b = 0;
$ H, w1 u. X/ D' _if (b == 0) ( ?' q9 H. ]" f  m, h- g
/* preempt divide by zero error */ + e: D2 A) f9 G  c5 P) }. j0 E
raise(SIGFPE); 1 q1 v+ v! [0 B
a = a / b; 1 \4 |- x( ]7 r2 i) ?; Y
return 0; 3 I! a7 m4 l: N
} 9 \. O4 D% t, a5 a
</FONT>2 l5 J9 K; f: Y  ]- }
</P>. ]' V4 r' U- ]$ Q& J1 L6 Z
<><FONT color=#ff0000>函数名: rand </FONT>4 t, q7 @& P4 A/ n8 \
功 能: 随机数发生器 2 s4 ?- m) z0 l- J) k% R! r
用 法: void rand(void);
6 g" P( p- `" p! A+ N& q程序例: </P>: z1 m' d6 @/ }3 J1 |7 b, s; s7 \
<><FONT color=#0000ff>#include <STDLIB.H>. v! U( [7 P/ X2 d/ P/ }, ?4 i7 f
#include <STDIO.H></FONT></P>
+ Y  u, F9 u  a( e1 `' ~2 ]& o<><FONT color=#0000ff>int main(void)
# K4 c4 V. Q& P. x) z, ]& k{ 8 D( b/ E' H; |9 M
int i; </FONT></P>
0 C( x; t0 ]  v3 t4 V2 r<><FONT color=#0000ff>printf("Ten random numbers from 0 to 99\n\n"); " _& u) d2 m3 c, i+ I# `
for(i=0; i&lt;10; i++) ; `% V3 p, W: T8 ~
printf("%d\n", rand() % 100); , k& J! c7 X1 D3 Y8 `8 ]) {
return 0; # b4 W7 b) `, _2 z6 D% f: @8 F
} + a$ Y  L4 N' k0 M% N5 s
3 |5 U3 o2 p* p0 V3 l. H: W  F/ X( U) k
</FONT></P>" _  d% b) Y& x& q( y0 ]0 g
<><FONT color=#ff0000>函数名: randbrd </FONT>1 I0 J1 [( g& a# i1 ?
功 能: 随机块读
: B4 b3 s! S9 I/ q; g, a. a! H用 法: int randbrd(struct fcb *fcbptr, int reccnt);
5 H& D. S+ x1 i  H5 o. |! T& W程序例: </P>$ o- i! f+ C2 w+ _
<><FONT color=#0000ff>#include <ROCESS.H>
" D5 @# R5 s6 `2 L( s; f#include <STRING.H>
8 @" D# W$ u) k- ^  i0 s/ b( g#include <STDIO.H>
6 k- x: }) r" X2 }& O#include <DOS.H></FONT></P>$ I  Z. {5 i2 b) n4 u! p9 q
<><FONT color=#0000ff>int main(void)
; e. h8 o) M: F{ , t. y/ n: E; b" ~8 E) v* B- A
char far *save_dta; / U/ J& j  W8 o: E$ ~0 W
char line[80], buffer[256]; 7 G' O4 Q* Q6 w
struct fcb blk; % q1 I. a6 G. H& B# ]
int i, result; </FONT></P>
+ |4 C% R* L8 C2 Y9 E<><FONT color=#0000ff>/* get user input file name for dta */
0 V8 C  v: F# y: Nprintf("Enter drive and file name (no path - i.e. a:file.dat)\n"); + R. i4 e/ }- P' I' M! p/ a
gets(line); </FONT></P>, u  A& U. O7 C" x
<><FONT color=#0000ff>/* put file name in fcb */
; C$ o6 q9 Q$ b/ E# _: v! zif (!parsfnm(line, &amp;blk, 1))
. J3 J* n& _" w2 b( T, n( p{ . r  j$ O: F0 M! t" C' y
printf("Error in call to parsfnm\n");   k2 A3 P3 N1 h
exit(1);
* W" i0 h* X2 X# E}
) c7 c0 D: T7 g5 p9 `0 o' \7 \6 P) ~printf("Drive #%d File: %s\n\n", blk.fcb_drive, blk.fcb_name); </FONT></P>
" _  r2 j5 y5 |. Z1 f/ [7 Y<><FONT color=#0000ff>/* open file with DOS FCB open file */
2 T3 ~( Q1 l& S5 o" zbdosptr(0x0F, &amp;blk, 0); </FONT></P>
% l1 v/ d1 N3 d( g2 w4 s& l<P><FONT color=#0000ff>/* save old dta, and set new one */ 5 \4 A, g5 p  C2 Q
save_dta = getdta(); , [' Z6 J$ H  d3 E7 U4 X
setdta(buffer); </FONT></P>3 i; z  w: k3 [$ s7 v
<P><FONT color=#0000ff>/* set up info for the new dta */ ( r) D7 j0 D. t) P% |
blk.fcb_recsize = 128; ; R( i1 V' m1 v! d, z/ L* x& d
blk.fcb_random = 0L; 0 O( W) h# D% y+ [8 |5 b
result = randbrd(&amp;blk, 1); </FONT></P>
6 }" @- K4 b# f" S! `* ]<P><FONT color=#0000ff>/* check results from randbrd */ , }+ G$ E4 J+ i0 C$ B' m* {, D
if (!result)
5 ^3 N& |& q5 M8 H7 xprintf("Read OK\n\n");
: o8 h" Y& Y$ `% \else 4 L# q  c% O1 I6 J7 z
{
0 F0 j' W* o2 K# f3 g$ eperror("Error during read"); 4 P: @8 y6 T7 J' ]5 m9 }! {5 T
exit(1); 4 g4 V3 L8 r; W
} </FONT></P>+ _. ?$ ~: o7 ]% g  P
<P><FONT color=#0000ff>/* read in data from the new dta */ 7 T0 w4 `1 c. s' \! `
printf("The first 128 characters are:\n"); * _8 }4 _- b2 b' I. Q6 ?8 m. q; N: D, ?
for (i=0; i&lt;128; i++)
/ K$ z: f! K9 r$ `7 s0 c. Eputchar(buffer); </FONT></P>+ `6 D+ }2 X) n* V3 @# i
<P><FONT color=#0000ff>/* restore previous dta */ . b1 m; I5 m' Q; w" Q( d
setdta(save_dta); </FONT></P>9 [; D2 U* p4 F5 k2 a
<P><FONT color=#0000ff>return 0;
2 J* q( q5 ~2 M" v) C, s} </FONT>( v1 j" G! Z: v6 @, F6 U& T; G
</P>0 p9 F$ r" z# m, M3 C  T
<P><FONT color=#ff0000>函数名: randbwr </FONT>, o1 n7 r* A, v7 {4 f" x5 d
功 能: 随机块写
* r: t' R! d, W5 ]( r' h用 法: int randbwr(struct fcp *fcbptr, int reccnt);
. h( U% F& w% ~% E% B3 Z8 e8 K程序例: </P>
0 c  t+ C7 P* H+ k* e) t% [) L<P><FONT color=#0000ff>#include <PROCESS.H>9 q6 S* Y! p3 _) k
#include <STRING.H>
7 H) ]( N6 r; j& [: y#include <STDIO.H>
/ Y# R, s$ S/ X3 f# w1 ^5 \#include <DOS.H></FONT></P>+ Z2 e9 B1 t$ r
<P><FONT color=#0000ff>int main(void)
8 {- `8 y: }3 A! N{ 8 ?$ T7 {, L- W
char far *save_dta; , T9 D0 B: y8 ]# _* V
char line[80];
7 ^) r0 r$ m" L' P7 U$ A/ ?char buffer[256] = "RANDBWR test!";
4 X% N! i* `; y. t; E  Q2 Bstruct fcb blk;   Z) i- A2 t# g, _  s* {
int result; </FONT></P>
1 g) s+ s0 o4 ?- i! F<P><FONT color=#0000ff>/* get new file name from user */ % @% I# i3 U3 t, O2 q
printf("Enter a file name to create (no path - ie. a:file.dat\n");
% U6 U& y+ ~+ S& i& r+ @  W  Dgets(line); </FONT></P>
; A4 @8 V1 x0 I6 \1 I- u+ |' W% m<P><FONT color=#0000ff>/* parse the new file name to the dta */ ! Q. N9 ^# Z" B" i
parsfnm(line,&amp;blk,1); % n2 h2 T2 }0 l* ?+ {, G
printf("Drive #%d File: %s\n", blk.fcb_drive, blk.fcb_name); </FONT></P>
  ]8 Y( p" `6 \6 M+ x6 l7 X+ M<P><FONT color=#0000ff>/* request DOS services to create file */ ' b8 }( W9 p) Q4 _; u
if (bdosptr(0x16, &amp;blk, 0) == -1) ' u9 X5 }6 m  ]2 T+ A" {
{ & z0 k6 q6 d9 ~8 n4 n5 Y* B
perror("Error creating file"); * Q# N6 i# o3 v( X
exit(1);
) {$ j4 H0 A, S8 ?# a1 }, T$ i6 a% J7 x} </FONT></P>
4 q8 r7 i( d0 i5 Q9 m- t, o<P><FONT color=#0000ff>/* save old dta and set new dta */ # c& X2 V* w, J
save_dta = getdta();
# J6 G! P) t, m: ssetdta(buffer); </FONT></P>
5 A0 G& W( k5 h, C<P><FONT color=#0000ff>/* write new records */ " i- d! E* {& ~" x
blk.fcb_recsize = 256; 2 b( n% |  {" d; k. ~5 d
blk.fcb_random = 0L;
/ B, _- J, Q* O9 L) j/ m, @result = randbwr(&amp;blk, 1); </FONT></P>1 v7 n$ l, P9 e: s8 r
<P><FONT color=#0000ff>if (!result) 7 S- {0 j$ l6 I/ n  d% U- f3 Z) j
printf("Write OK\n");
, h$ w- {: b; U6 |else 4 e3 F% X6 W  D% A" c0 s- m
{ ( @" F( |5 y( }5 }+ I
perror("Disk error");
/ Z# z) Y: N* U; l2 eexit(1); " C- O# Q( m6 l4 w, m
} </FONT></P>( p. B* U0 @' k: `7 f, K
<P><FONT color=#0000ff>/* request DOS services to close the file */
9 s7 L- h- F; oif (bdosptr(0x10, &amp;blk, 0) == -1) " Z5 I0 V3 U* v- t. F
{ & I( I4 I( v. A" M
perror("Error closing file");
9 i9 j6 s  s, b4 `' nexit(1); - ?3 x$ ~1 ~, e5 e1 o8 U3 U
} </FONT></P>
0 z; @' q) u2 b, j/ |% i7 b9 {<P><FONT color=#0000ff>/* reset the old dta */
' o; O1 q0 r1 P9 D5 r) asetdta(save_dta); </FONT></P>1 n( H- p) }7 F7 F3 J, q4 y" y
<P><FONT color=#0000ff>return 0; ( K! n9 K0 D" [$ C' d2 e
} ) v3 P/ Y/ E/ _
</FONT>
. a* `9 v5 o: G* ~</P>( k8 C3 o. H0 z7 i8 c
<P><FONT color=#ff0000>函数名: random </FONT>, d5 d  r4 _0 t" z3 P0 S
功 能: 随机数发生器 % M9 ]& }9 P; z( h
用 法: int random(int num); ' Q' ^0 _; U. ~
程序例: </P>- B4 ^) x' g. t3 |
<P><FONT color=#0000ff>#include <STDLIB.H>
- I0 H# u5 O; ^# o) x, E#include <STDIO.H># ]2 O" N+ [9 b7 W: D2 h, G
#include <TIME.H></FONT></P>
! _9 [9 Z. y  O( Q) A$ x<P><FONT color=#0000ff>/* prints a random number in the range 0 to 99 */
& w) y$ P' P; y& B* fint main(void) + G  ]4 ~2 k; y" M' @
{ % g4 R9 ^- G8 Q$ b5 w
randomize(); 5 h. U( V$ b9 _  y+ I! l) T! k! a
printf("Random number in the 0-99 range: %d\n", random (100));
/ q, N9 H# g) Z9 \8 k" t2 H  [return 0; + i2 ]1 _, ?! n4 ]
}
: J3 x5 ?1 i/ H" A/ |</FONT>
' ?  I6 \2 `2 T% W7 C</P>+ N% }. k& c5 h9 ~
<P><FONT color=#ff0000>函数名: randomize </FONT>* {3 h+ C% N; K0 u! X1 Z1 d
功 能: 初始化随机数发生器
4 b" n6 o* A# u* [/ m  b用 法: void randomize(void);
. F3 ^& K9 L) v, S9 k程序例: </P>
  e- @- F5 v( h/ o# s; S<P><FONT color=#0000ff>#include <STDLIB.H>
" e" y% G9 C5 K#include <STDIO.H>2 B. O% q, m; _7 H! S3 t# C# @
#include <TIME.H></FONT></P>: R" V# Z# \6 G
<P><FONT color=#0000ff>int main(void)
4 y9 O- |3 o' V/ ^  b{
( f2 }  q2 G" a1 {6 ?int i; </FONT></P>0 H3 s* n( @, Q
<P><FONT color=#0000ff>randomize(); $ V% Z! I+ `/ J8 b7 U: }( b
printf("Ten random numbers from 0 to 99\n\n"); % f1 P6 z2 }9 e8 ^* C, T6 y
for(i=0; i&lt;10; i++)
' L  x1 U$ |2 o0 W/ M: m# b- Hprintf("%d\n", rand() % 100);
7 x$ x$ H' R5 t- Creturn 0;
" R7 |% e9 Q: C. H' W0 F8 ?5 g}
5 t2 @' z( j6 R  `</FONT>( {9 ?( ]2 R. v
</P>
4 {5 |+ o" ^$ Y9 n7 v<P><FONT color=#ff0000>函数名: read </FONT>
) B2 X# W# }, ]$ E功 能: 从文件中读
( ~# |- V: E1 i5 [* l0 g用 法: int read(int handle, void *buf, int nbyte);
* J! P/ t5 V1 w8 s0 G程序例: </P>% N* |# H* y% D( W1 m
<P><FONT color=#0000ff>#include <STDIO.H>
' p6 N! g% F5 J; N; @#include <IO.H>! n! A" h- O8 ^- g3 I
#include <ALLOC.H>
% ?+ S- n4 c! P+ F4 I' z4 P#include <FCNTL.H>
' W' M. Z  ~5 x5 Q! \* i#include <PROCESS.H>& a* v( U5 A3 Y, A$ I* @+ X
#include <SYS\STAT.H></FONT></P>
( v, P# ^: B1 x" Y$ o9 q  I3 r( Z<P><FONT color=#0000ff>int main(void)
2 K- S) {  c% P{
! v/ y8 C: E6 ?; rvoid *buf;
# N' Y2 _) F* j( w8 Lint handle, bytes; </FONT></P>
- T  ?: O9 ^2 `# E# _, @<P><FONT color=#0000ff>buf = malloc(10); </FONT></P>$ D+ I3 y0 T- ?! F4 v7 L, \" I
<P><FONT color=#0000ff>/* 2 ^% E+ ?# p. G$ [) V% J
Looks for a file in the current directory named TEST.$$$ and attempts
! n( ~5 D, k' @. B) T+ Tto read 10 bytes from it. To use this example you should create the : V9 m" B) r, _. e4 S. ]- L
file TEST.$$$
0 M2 x' h4 D. p; t5 P. p*/
( W$ c5 A1 L4 @# Z' z5 vif ((handle = 0 _' b% u0 U; z* h  m* x
open("TEST.$$$", O_RDONLY | O_BINARY, S_IWRITE | S_IREAD)) == -1) $ h; F- U* {8 F9 F$ J
{ ' t; r( H4 H4 {8 W
printf("Error Opening File\n");   L$ v/ f+ H0 R0 t# m, a
exit(1);
. J* Q5 i- g0 w5 F) y# ^} </FONT></P>" ?( c6 h) Z! U: C4 q
<P><FONT color=#0000ff>if ((bytes = read(handle, buf, 10)) == -1) { * r- f  ?/ z# e+ e2 |
printf("Read Failed.\n");
, g) S/ j, C' aexit(1);
1 C$ A# ]2 B8 l! W' o} - z0 D3 v8 A4 y9 B/ v
else {
/ a  O& O$ W( n7 n* f6 Tprintf("Read: %d bytes read.\n", bytes);
; a/ O7 z* G! M/ @% E, g' S9 }} + ^. X  T! t7 O
return 0;
7 F8 g5 ]* X; B/ G+ z5 _} </FONT>- e+ ]. k3 P% u. z

; r/ @. w' Y6 d8 O1 d. T</P>
0 S* u: B' L+ ^- ?4 S4 T<P><FONT color=#ff0000>函数名: realloc </FONT>
# j) {4 g6 n0 K/ x( K功 能: 重新分配主存
6 S' W, W% j7 ^- Q& M) N$ o用 法: void *realloc(void *ptr, unsigned newsize); 0 a+ ]* f: H$ g3 X# G4 K8 M
程序例: </P>
4 O2 P+ s  D6 C0 S4 z<P><FONT color=#0000ff>#include <STDIO.H>
7 e  k8 O, W. e, |9 [5 _" T: w#include <ALLOC.H>
9 O/ T! K1 E' _7 c% K, P4 H#include <STRING.H></FONT></P>
7 R; s; k# S6 J* n# ~8 k<P><FONT color=#0000ff>int main(void) 5 V! o% @& u& O
{
: s8 j( G0 h* e( U* q: Q/ ]5 W/ ychar *str; </FONT></P>
% G- f1 R# S+ P* n. y- v# t<P><FONT color=#0000ff>/* allocate memory for string */
+ s8 A  q/ @* @, `. Ystr = malloc(10); </FONT></P>
3 ~9 [' k; @+ E7 k0 U<P><FONT color=#0000ff>/* copy "Hello" into string */
2 A0 ~. k/ ?9 x1 Z* o" hstrcpy(str, "Hello"); </FONT></P>) Y1 o8 L% e/ ~% @; o
<P><FONT color=#0000ff>printf("String is %s\n Address is %p\n", str, str);
  k7 y, T+ L+ R4 n! o4 C- n. a6 z: E! ostr = realloc(str, 20);
* d) q/ u" t6 o& Y/ E; p  k: Iprintf("String is %s\n New address is %p\n", str, str); </FONT></P>
( q% t0 d# P/ z* n8 q# f<P><FONT color=#0000ff>/* free memory */
7 L/ J4 P* [! ~* Cfree(str); </FONT></P>, i1 }& @( v3 C# f: x
<P><FONT color=#0000ff>return 0;
, M" i" D8 q, G) X7 U}
3 v; t: R0 S3 Q, m" R8 L  i2 K</FONT>$ z" ]9 g5 S2 |- j  _
</P>
7 o& n4 \. I0 F/ q<P><FONT color=#ff0000>函数名: rectangle </FONT>
5 t- J* _1 J4 _' }功 能: 画一个矩形
5 ?, p6 [0 C4 F: R  i7 p用 法: void far rectangle(int left, int top, int right, int bottom);
# U9 Z5 k) c/ L. v2 O程序例: </P>
( t7 Z9 D# }$ K% [  x1 w<P><FONT color=#0000ff>#include <GRAPHICS.H>4 K8 E( \* D$ s; H9 L% z9 K9 T
#include <STDLIB.H>
/ J1 L0 P# y: R' A2 T& K#include <STDIO.H>
; V% I# a- \/ G: m& p, ?% W#include <CONIO.H></FONT></P>4 L! B/ k& w1 ]5 M" H1 H- E' j# f
<P><FONT color=#0000ff>int main(void) # t/ \1 y1 }4 Y2 K
{
, }* }% P1 g" u/* request auto detection */ 2 m$ n) E5 L- r0 F) t
int gdriver = DETECT, gmode, errorcode;
2 l: h- {: M% Y3 o8 tint left, top, right, bottom; </FONT></P>" h( y4 @4 ^* X0 y' j' e" b
<P><FONT color=#0000ff>/* initialize graphics and local variables */
4 P" ~# j& m! Q2 {! r) e! finitgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
# i8 R# ]; X( X2 C& A; k/ k8 d9 E<P><FONT color=#0000ff>/* read result of initialization */
$ ]2 {- Q; U- Cerrorcode = graphresult();
' w, W% y9 ?1 A0 c7 L' F( bif (errorcode != grOk) /* an error occurred */
. p; ?  v, |  g3 h  E{ 4 ~' l, Y% {( E1 |$ U
printf("Graphics error: %s\n", grapherrormsg(errorcode));
4 [" C$ F3 w0 D# K$ _( m& Xprintf("Press any key to halt:"); ! x6 F  g9 F7 c! F" y: f( D9 c9 N1 s
getch(); - b' E8 m, o/ V6 ]+ ]) \9 W7 w  w# g
exit(1); /* terminate with an error code */ 8 y& _5 ^6 L# J; j! r
} </FONT></P>
! q# n, Q: K) m2 p# Q5 ?<P><FONT color=#0000ff>left = getmaxx() / 2 - 50; ( }3 `3 C0 x9 {0 G. r- E- k
top = getmaxy() / 2 - 50; 6 g$ O& }- [+ a- H/ N
right = getmaxx() / 2 + 50;
, V: H  F" r0 ~9 y( Lbottom = getmaxy() / 2 + 50; </FONT></P>
* r' T3 a) F" O4 H<P><FONT color=#0000ff>/* draw a rectangle */
" o$ }0 N& ]" Xrectangle(left,top,right,bottom); </FONT></P>
- c/ V) L3 ?; _# j6 K<P><FONT color=#0000ff>/* clean up */ $ N7 q( ^1 P: Z
getch();
) s3 N8 a2 d) c, |# bclosegraph();
0 K# U0 Z/ j5 }return 0;
8 P8 O. O  ?4 X8 e9 {7 M7 r} 9 e+ v; T0 }; a# Q( x
</FONT>0 ~& a* j. @- a
</P>
  j- W9 J, S# a  D+ C9 L) q<P><FONT color=#ff0000>函数名: registerbgidriver </FONT>  o5 I- v, r' g2 j, U; }
功 能: 登录已连接进来的图形驱动程序代码
. V( \, Q- V: v. Z  v4 Z% F用 法: int registerbgidriver(void(*driver)(void)); : ]" ^9 a1 q( Y& ?
程序例: </P>
" V) Y$ e" B) {$ s<P><FONT color=#0000ff>#include <GRAPHICS.H>' w4 [6 Z& X) _2 g# |$ F- E, H
#include <STDLIB.H>7 y4 Q2 _# j* I7 R. V4 I$ U+ l
#include <STDIO.H>5 [8 _: n; j( u2 s9 }; H( g
#include <CONIO.H></FONT></P>- j% c  T0 Y# j/ p, V! ^
<P><FONT color=#0000ff>int main(void)
( q8 X0 N* a6 v7 L3 @: ~{ ; Q& T" a* W  b4 s. f
/* request auto detection */
8 Q2 ?3 K# h! h9 f6 Q- Dint gdriver = DETECT, gmode, errorcode; </FONT></P>
/ x2 @2 i) z0 z" t7 `/ b<P><FONT color=#0000ff>/* register a driver that was added into graphics.lib */ ( g; a9 S+ [4 Q! ~, O' ?! z  ~
errorcode = registerbgidriver(EGAVGA_driver); </FONT></P>
4 _+ H4 f% u( T- h, [<P><FONT color=#0000ff>/* report any registration errors */ " j& D  J' O( O$ Y+ i! b) E9 Q
if (errorcode &lt; 0) 6 E& R3 U; A, c6 t9 {1 x
{
9 b0 K3 Q& o9 e1 Y% B" mprintf("Graphics error: %s\n", grapherrormsg(errorcode));
: X7 a. P8 j! I0 i/ [: gprintf("Press any key to halt:"); ' p. ^, }7 _( F7 e5 F3 \7 j( D
getch(); & I8 X# F& N8 H  l3 D+ h5 I
exit(1); /* terminate with an error code */
/ J2 d' p- h8 t+ P, q/ S7 [& o* P} </FONT></P>! `- S" S# N: x; ^, q
<P><FONT color=#0000ff>/* initialize graphics and local variables */
% X( D8 m7 n" qinitgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
* T6 M7 q& M  L) E- x% x<P><FONT color=#0000ff>/* read result of initialization */
4 R. q: m( O& J7 serrorcode = graphresult(); $ Q: Z' }- Z6 \9 J; o* O/ N4 l3 `
if (errorcode != grOk) /* an error occurred */ & H5 c  ~- a. t) f5 ^
{
; `0 l* U9 B# w+ ^! ]0 ]2 Z1 E/ nprintf("Graphics error: %s\n", grapherrormsg(errorcode));
0 F) ?$ r( T  S5 \+ nprintf("Press any key to halt:"); - R- }3 l, [! H
getch();
/ |& D( ^- C0 |5 H6 Vexit(1); /* terminate with an error code */ ( A( k1 m7 G' f
} </FONT></P>1 ?2 J/ G, v* P4 K; R
<P><FONT color=#0000ff>/* draw a line */
1 Q$ i9 b* N1 a( ?6 O# tline(0, 0, getmaxx(), getmaxy()); </FONT></P>
1 b% Q" N6 N! U6 g' b$ O0 N<P><FONT color=#0000ff>/* clean up */
! Z/ s/ ]9 z9 Q2 K5 A- Ugetch(); 1 B9 h! f6 C6 {
closegraph();
" Z' s2 ]$ z6 \return 0; , i' a3 Y2 Q" z- h
} ! i& A2 d0 l# r
</FONT>4 D6 g( v% t8 s( O4 g
</P>
' l& _# P$ z' }) o<P><FONT color=#ff0000>函数名: remove </FONT>4 t5 x9 ]% q/ O/ G2 y, S
功 能: 删除一个文件
( b5 G. M0 i& U  c5 L& W& h用 法: int remove(char *filename); : [: C2 {0 u; R, [& V; o& N
程序例: </P>4 f, W# `* ]8 s$ l' ^+ f
<P><FONT color=#0000ff>#include <STDIO.H></FONT></P>
! {! h! f/ y! e4 o<P><FONT color=#0000ff>int main(void) $ a& o  q0 t( r: `: t" k. ~
{
% |4 w( S: [& j! m5 t' uchar file[80]; </FONT></P>: Z2 u" t+ S/ e5 s1 r# D- N
<P><FONT color=#0000ff>/* prompt for file name to delete */
- j8 Q: h6 h; k8 ?  v) ^( Hprintf("File to delete: "); , @9 |4 ]5 [9 a: @- Q4 c/ p6 r/ T
gets(file); </FONT></P>/ t6 F" ~( X% n( A# q
<P><FONT color=#0000ff>/* delete the file */ ! J& `! n( ~# A/ K- j/ j$ ?
if (remove(file) == 0) / Y8 A  F( \% j& f' L; \
printf("Removed %s.\n",file); $ q. `* l# \4 @! j% O6 `9 T
else 7 u; }5 Q9 l0 {
perror("remove"); </FONT></P>5 P/ q. m# g; z' f3 ^  e, M0 U. L
<P><FONT color=#0000ff>return 0;
" a* l( o$ G& p$ H}
- L; s6 Y+ C/ w# j: |
$ L5 ~% g5 }; h: s0 q, I1 W</FONT></P>
  F' C6 X5 D/ T* r<P><FONT color=#ff0000>函数名: rename </FONT>
! e/ m) j/ P+ s! l  ]9 z5 D: {功 能: 重命名文件 ! O5 }1 W" G: g( v* k. F' Q( `
用 法: int rename(char *oldname, char *newname);
+ \' y; q4 A, z* P程序例: </P>
( x8 }6 j: A* Z& \1 {<P><FONT color=#0000ff>#include <STDIO.H></FONT></P>
5 C' K9 I* ~! E, y, ^<P><FONT color=#0000ff>int main(void) , c: m$ R) h5 U7 e7 `( n
{
' Y8 a. Z; T' t1 ]0 v- I" zchar oldname[80], newname[80]; </FONT></P>
& r. d9 [3 ~6 \5 v<P><FONT color=#0000ff>/* prompt for file to rename and new name */
$ N" l( m/ Q2 m+ o, g/ Oprintf("File to rename: "); * @$ o. ?5 n6 b( M
gets(oldname); - F7 p+ _( [8 g/ g
printf("New name: "); % X% x! ?+ j0 Q  T2 o' R
gets(newname); </FONT></P>2 ^* k4 y# ?2 V! x6 m, w6 Y
<P><FONT color=#0000ff>/* Rename the file */
/ ]3 D% x7 S/ `! T. Qif (rename(oldname, newname) == 0)
2 \. [% V0 t1 n, G& }, _  W, Yprintf("Renamed %s to %s.\n", oldname, newname); 3 R  E- a* ?$ ]
else 8 s' G! M1 j) j* e- ~) |
perror("rename"); </FONT></P>
5 w2 X8 X) r2 Z/ h# E, B<P><FONT color=#0000ff>return 0; 4 F0 \+ N; |  G; }$ `; D% s- i' A
}
' _: [8 e1 Q1 H0 r8 k, b8 {0 q$ z. v; a8 C  h; v0 V! @: k
</FONT></P>3 M' M! e! Z) @9 a2 ^8 o/ y. I! x
<P><FONT color=#ff0000>函数名: restorecrtmode </FONT>- O! I$ c9 F/ w/ D) m
功 能: 将屏幕模式恢复为先前的imitgraph设置
* K( V* @, c- `用 法: void far restorecrtmode(void);
9 b+ c+ X4 k8 S6 s. i程序例: </P>
0 q% P& V6 ?: `9 z<P><FONT color=#0000ff>#include <GRAPHICS.H>0 _  @3 }5 ^' d. }
#include <STDLIB.H>( i4 ]. L: p# z
#include <STDIO.H>' N  @- T0 E  x9 J  z4 T
#include <CONIO.H></FONT></P>
; F; \  C7 B# \0 E<P><FONT color=#0000ff>int main(void) % |& w# M7 K0 b; M
{
" t* Y& d9 M. f5 I1 J+ e/* request auto detection */ ( a- ]$ Z" G5 S
int gdriver = DETECT, gmode, errorcode; - T* @0 J* C- i. f
int x, y; </FONT></P>
4 I$ S( X. k3 D. L' `$ C& ?<P><FONT color=#0000ff>/* initialize graphics and local variables */ 2 ?8 T7 T7 o- {/ Z
initgraph(&amp;gdriver, &amp;gmode, ""); </FONT></P>
+ P+ P, y* ~- H8 n7 [9 C, m<P><FONT color=#0000ff>/* read result of initialization */ % b: j2 Y1 n  a8 C2 C: V$ c
errorcode = graphresult();
- m2 h+ }5 ~/ i6 ]0 A4 X; |. @if (errorcode != grOk) /* an error occurred */
+ {0 ~* z) l" j% j& h6 p{ . r1 o0 x8 c$ O4 [# ]- j+ z8 J6 Q
printf("Graphics error: %s\n", grapherrormsg(errorcode));
, f9 Z/ I1 d6 gprintf("Press any key to halt:");
/ H0 w/ p" |' @# ?( ^( X. j. _% e% @getch(); ) U( C3 F9 z6 u* N  y6 R
exit(1); /* terminate with an error code */ 8 F: Y6 u# i- K. Y  J
} </FONT></P>
2 g0 p8 T5 O% h- X5 k1 y<P><FONT color=#0000ff>x = getmaxx() / 2; 4 A! Q0 E2 R5 y; e, j- J9 a* }. ?
y = getmaxy() / 2; </FONT></P>
& O8 U5 t2 a% J( t. Y<P><FONT color=#0000ff>/* output a message */
. S: D3 s4 V% k+ `9 U  fsettextjustify(CENTER_TEXT, CENTER_TEXT);
! `6 j' v  g  l! ?1 v- bouttextxy(x, y, "Press any key to exit graphics:");
+ E2 z9 \$ a5 M* ]7 Ygetch(); </FONT></P>8 k& r) g4 D! }
<P><FONT color=#0000ff>/* restore system to text mode */
; [! K5 |' N- n9 [, Brestorecrtmode();
% C8 n6 \9 m, @1 o2 \* |printf("We're now in text mode.\n"); 5 K. H5 p$ A& i9 B/ F- A( Q
printf("Press any key to return to graphics mode:"); 0 o, ?' t- I8 b  O
getch(); </FONT></P>
$ B3 z4 m% _: U( |<P><FONT color=#0000ff>/* return to graphics mode */
+ l; a, O1 z+ v7 U$ isetgraphmode(getgraphmode()); </FONT></P>
7 j6 }9 t1 Q1 e. `# h4 f<P><FONT color=#0000ff>/* output a message */
# ^. G5 K# ^; t* `3 `# Nsettextjustify(CENTER_TEXT, CENTER_TEXT);
3 b  q  r) R1 g. {/ o* vouttextxy(x, y, "We're back in graphics mode."); ) c' j! Y( D: O2 a' I
outtextxy(x, y+textheight("W"), "Press any key to halt:"); </FONT></P>& Y% K. E7 R' o' ~. x
<P><FONT color=#0000ff>/* clean up */
0 y6 q- [; N0 @  c; k# [; Egetch(); # X, m" j9 m( S0 y4 H
closegraph(); * I" t: y8 U( a. e
return 0; % D1 ]( Q/ X& l5 V' r- D
}
1 w# n+ ~* O+ [2 a% t1 p</FONT>6 ~7 [+ U! M; H4 c8 m1 X
</P>
* L: v( k9 u( ^- W) `2 y, A2 g<P><FONT color=#ff0000>函数名: rewind </FONT>6 }/ p9 v4 u. B6 _/ ]
功 能: 将文件指针重新指向一个流的开头 % c0 h/ {7 N7 d! Z
用 法: int rewind(FILE *stream); * p7 l+ k  Z: x6 {  X% F5 ]
程序例: </P>
6 C! A+ R0 t% G: c4 O0 D<P><FONT color=#0000ff>#include <STDIO.H>
0 S/ K; P: ~8 J. ?: S5 i2 x#include <DIR.H></FONT></P>
4 [! I, l( s) X! Z% u$ ]4 v9 I/ E<P><FONT color=#0000ff>int main(void) $ i" Q5 i1 ]1 j! h! C+ j0 d8 Q
{
2 f9 p& n4 c5 O" {6 P6 E# i- k' XFILE *fp;
- e+ h9 }$ j9 j% U# Y  [/ Z  R+ ochar *fname = "TXXXXXX", *newname, first; </FONT></P>
, E0 i5 w+ v# M6 ], m<P><FONT color=#0000ff>newname = mktemp(fname); . c$ W0 B( }( l/ d7 n, q5 t
fp = fopen(newname,"w+");
- |! a; t( A4 w+ `( I% E7 V2 y5 k; kfprintf(fp,"abcdefghijklmnopqrstuvwxyz");
8 D/ D% E/ X9 D9 F. u$ g1 yrewind(fp); - v  M2 A$ S8 r& a
fscanf(fp,"%c",&amp;first);
) D7 D/ {" J0 d+ Dprintf("The first character is: %c\n",first);
+ z' w  k5 @+ w) v2 i0 p! {+ @fclose(fp);
: \3 k$ ^. z! S4 C& ]remove(newname); </FONT></P>
0 K/ O* [8 Y7 G& Z( d! P9 j4 T<P><FONT color=#0000ff>return 0; 6 x# u% k/ K$ I" O' g: A6 y
} 1 M$ J- v4 a0 H9 c' A6 u8 D  x) X
</FONT>
% ^2 B& X( z/ l# o; S7 i! }</P>
# i1 I# {- r; O- l3 v' @<P><FONT color=#ff0000>函数名: rmdir </FONT>
8 Q. }) M/ K% M5 M7 ?功 能: 删除DOS文件目录
/ Q2 Q: ?9 Y3 b0 s8 S" F用 法: int rmdir(char *stream);
  |' P% h8 b8 s; M程序例: </P>
$ w' M9 u4 w4 }<P><FONT color=#0000ff>#include <STDIO.H>
; ?' z' Q5 k8 G6 I#include <CONIO.H>
* ~/ K* N! ]4 m3 R! N#include <PROCESS.H>0 k9 Y, B8 p! S+ Q$ j
#include <DIR.H></FONT></P>
! A6 p8 s* t1 D& d<P><FONT color=#0000ff>#define DIRNAME "testdir.$$$" </FONT></P>
8 R* }% `2 |% g6 N* d% W! g" H<P><FONT color=#0000ff>int main(void) / F2 B3 O9 J9 \. o' k2 ]# S' q* T
{ & `% O2 e& @: u# \5 g
int stat; </FONT></P>
2 M) R5 j" g! {5 `& s8 S* f<P><FONT color=#0000ff>stat = mkdir(DIRNAME);
$ \' ?% Z( U) yif (!stat) 4 n+ p0 l& {, c
printf("Directory created\n");
& _' x$ A: L- `2 v3 I/ S* o% belse 4 c, N3 Z; u0 T3 H# ?
{
* m6 O4 T/ I0 N4 F7 U" c0 Jprintf("Unable to create directory\n"); 2 S' ~9 U+ n: ]% T9 F9 P
exit(1);
8 h9 z# S" R! q! ~) d/ i  t9 k2 M} </FONT></P>
! Z. m5 b: G; z& H: E* P1 \+ r<P><FONT color=#0000ff>getch(); ) w$ g0 H- `% G/ s: A8 ?" s' n
system("dir/p"); 0 R0 q7 p! L2 t( c% I9 S/ [
getch(); </FONT></P>
' y+ d; d! L, M3 d* M; p# d<P><FONT color=#0000ff>stat = rmdir(DIRNAME);
  z) @4 j# r; D, U$ ~if (!stat) 1 u7 S) @+ t2 t6 p% q/ d& ~0 d
printf("\nDirectory deleted\n");
2 m9 }, `! ?1 ~. K% q8 C! l) Oelse
1 O$ {$ V( F1 h: a' K- S{
. |* z1 x8 U$ ^) [/ }" X6 ?6 Rperror("\nUnable to delete directory\n");
6 ^8 Y/ ?; {( h1 ]: d3 B& [0 Gexit(1); ( k2 u/ [' `5 q/ r
} </FONT></P>
1 D1 V! a2 @; K3 g<P><FONT color=#0000ff>return 0;
9 h. e( x6 v+ W8 i: A9 [+ z: e% {} </FONT></P>
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

fastpost qq
收缩
  • 电话咨询

  • 04714969085

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-11-1 01:42 , Processed in 0.238159 second(s), 56 queries .

回顶部