- 在线时间
- 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>函数名: ultoa </FONT>
3 r0 V" p$ [- l2 z0 _) r功 能: 转换一个无符号长整型数为字符串
) C; _) W1 u& t3 S2 g% t) G用 法: char *ultoa(unsigned long value, char *string, int radix);
$ G/ t2 F2 l. K2 [+ U程序例: </P>
( f% M y) a7 ?/ J/ E# O* x! Z< ><FONT color=#0000ff>#include <STDLIB.H>9 z+ J% G6 N5 x$ K6 @3 S
#include <STDIO.H></FONT></P>5 H$ ^" H) A! p, z
< ><FONT color=#0000ff>int main( void )
6 ?6 A2 f% M: {# ~4 t/ B% @1 |{
9 A$ P" X& c; K! A, a% u9 k7 k6 Gunsigned long lnumber = 3123456789L;
5 y7 `9 n4 m& R7 M' v1 D2 P Wchar string[25]; </FONT></P>. H& B0 r; u/ W Y1 W F
< ><FONT color=#0000ff>ultoa(lnumber,string,10); 4 p9 X5 X) ]( @9 b3 S, V
printf("string = %s unsigned long = %lu\n",string,lnumber); </FONT></P># b5 n9 ^ [: @* r
< ><FONT color=#0000ff>return 0; 5 N9 B9 _+ j. _- r& x* C0 S3 ?, i6 u
} W2 _2 q- @8 a9 O. S F
</FONT>+ }3 G8 c5 J$ y/ f
. S8 _ d! z! `5 p6 s H
</P>0 |0 a7 W, h4 T. b- e) v( I7 C
< ><FONT color=#ff0000>函数名: ungetc </FONT>0 g W8 Z/ o2 e9 b/ A/ T: I
功 能: 把一个字符退回到输入流中 ! m9 F [5 b3 V0 k; l
用 法: int ungetc(char c, FILE *stream); 9 n; G* R, _7 e+ C2 N
程序例: </P>0 C( m6 t) M" w) z7 l' s
< ><FONT color=#0000ff>#include <STDIO.H>
' F9 y# @- i" B |7 }#include <CTYPE.H></FONT></P>. m% }% g$ F; _0 N- Q
< ><FONT color=#0000ff>int main( void )
0 k. D( |; A% X0 x7 P9 u7 s{
0 a# D1 o( u' zint i=0; 9 N. V/ f5 p0 m4 c
char ch; </FONT></P>8 s& L, ^6 }5 G3 Z! ~
< ><FONT color=#0000ff>puts("Input an integer followed by a char:"); </FONT></P>
7 Q6 R, Z V& V6 U: f< ><FONT color=#0000ff>/* read chars until non digit or EOF */
: U* v5 k7 g M. m! S% P$ O. mwhile((ch = getchar()) != EOF && isdigit(ch))
, R* C3 \3 _+ s' s1 O+ si = 10 * i + ch - 48; /* convert ASCII into int value */ </FONT></P>
/ P6 w K+ @& P7 r% r, K9 c< ><FONT color=#0000ff>/* if non digit char was read, push it back into input buffer */
2 Y# p- N$ D' p" @* |9 }0 Kif (ch != EOF)
) D+ o# _, x" [: Yungetc(ch, stdin); </FONT></P>
: Z f' ]1 Q; [+ u6 M0 ^" B1 U< ><FONT color=#0000ff>printf("i = %d, next char in buffer = %c\n", i, getchar());
6 I0 U) l6 c) e9 M. Treturn 0;
! T+ N6 Q0 t' N" L4 S, z: T} </FONT>
) t# V' p& {2 x- f, @
7 v# M2 y+ L# B2 u5 M8 n0 N$ N* x
4 G" _" j# Q9 ~* d</P>% k- `1 i( ]# ?4 }; ]+ i
< ><FONT color=#ff0000>函数名: ungetch </FONT>
+ {. D1 H- n- @) t功 能: 把一个字符退回到键盘缓冲区中 ) L. W+ }# p6 T/ X! d$ m, Z
用 法: int ungetch(int c); 4 W q% s9 I' Z# q+ b
程序例: </P>
, Q% w; p# d% t4 s0 l< ><FONT color=#0000ff>#include <STDIO.H>) }7 E+ y& S; z+ J" n4 e
#include <CTYPE.H>
( a0 I+ I5 H$ S#include <CONIO.H></FONT></P># R; [# j* w- _' J5 K: Y: n
< ><FONT color=#0000ff>int main( void )
4 V8 ^3 c" e7 J, c; d$ q{ 5 S8 a+ `* f2 X8 r4 d
int i=0;
) H$ F+ v& v/ [0 Q2 n1 p2 G8 vchar ch; </FONT></P>
. a: o* _/ |: v< ><FONT color=#0000ff>puts("Input an integer followed by a char:"); </FONT></P>
( v. l6 r! e/ U0 g, P3 a5 ?6 q& ?4 U< ><FONT color=#0000ff>/* read chars until non digit or EOF */
) v: Z# f7 g" a# D2 iwhile((ch = getche()) != EOF && isdigit(ch)) 9 w. y* b5 D0 D* V, W
i = 10 * i + ch - 48; /* convert ASCII into int value */ </FONT></P>9 Z& X0 v( B1 x2 V
< ><FONT color=#0000ff>/* if non digit char was read, push it back into input buffer */
0 m$ e3 w& K i/ Z" ^1 Aif (ch != EOF)
* x; [& p6 j! t, ~$ bungetch(ch); </FONT></P>
+ _ M( i% M/ G, J< ><FONT color=#0000ff>printf("\n\ni = %d, next char in buffer = %c\n", i, getch());
; k; T" Z% P. {' a: t! k- Hreturn 0; , |1 x0 u9 P% v! J3 ?& n& s
} " L7 o2 W1 S) } A+ j6 o% e
: \. K' n; m% \; ~( v! [
. m0 D% N& s2 b; H) v z6 }' v</FONT></P>9 d4 C* c* r. F9 _
< ><FONT color=#ff0000>函数名: unixtodos </FONT>' f% j! G& K& L
功 能: 把日期和时间转换成DOS格式 9 ^2 q% e" Z, ~9 M; y9 [. Q
用 法: void unixtodos(long utime, struct date *dateptr,
, f* L6 S" a7 v, Bstruct time *timeptr);
; X G. X) m" k- _0 M; R% a! U程序例: </P>
- R' p: S2 H- e) z( S< ><FONT color=#0000ff>#include <STDIO.H>
) D* P6 z. K+ z$ R4 `1 y$ c: M#include <DOS.H></FONT></P>
; E, q3 M5 d+ M. k5 r6 O$ x0 L< ><FONT color=#0000ff>char *month[] = {"---", "Jan", "Feb", "Mar", "Apr", "May", "Jun",
$ L) c# q& h" Y( S1 [. h2 `"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; </FONT></P>
! K& ]. q6 T: n0 Q0 d< ><FONT color=#0000ff>#define SECONDS_PER_DAY 86400L /* the number of seconds in one day */ </FONT></P>6 \* M7 |( w( X3 \ D
< ><FONT color=#0000ff>struct date dt;
2 e5 w, j7 P5 _& m" b) C& ~/ Estruct time tm; </FONT></P>. [4 V" E2 Y: b: \' I
< ><FONT color=#0000ff>int main(void) 0 o' r. W5 K- l& E8 f
{
% [5 I, R6 z, e) {unsigned long val; </FONT></P>
3 Q# T. k1 z) |+ V* I0 H) n< ><FONT color=#0000ff>/* get today's date and time */ ' {' B/ D& }- m9 W8 J
getdate(&dt); ( B$ o9 B! c7 H' W2 v
gettime(&tm); ' l5 H, w, a! N8 E
printf("today is %d %s %d\n", dt.da_day, month[dt.da_mon], dt.da_year); </FONT></P>
6 G* A8 E3 T6 C& T< ><FONT color=#0000ff>/* convert date and time to unix format (number of seconds since Jan 1, 1970 */
2 H" n, l g! _, o/ gval = dostounix(&dt, &tm); $ K) @9 C, ? r7 L/ Y0 t+ ?
/* subtract 42 days worth of seconds */
# d3 x9 c6 u7 W3 T @val -= (SECONDS_PER_DAY * 42); </FONT></P>
; R# z0 |7 e7 S3 w6 y& W! l< ><FONT color=#0000ff>/* convert back to dos time and date */
, W7 ?, X$ D( B; |& }. S; w, Yunixtodos(val, &dt, &tm);
9 }) Z; v- L* e2 M! U4 k- kprintf("42 days ago it was %d %s %d\n",
+ g0 y- y5 }; f- { |dt.da_day, month[dt.da_mon], dt.da_year);
4 I/ X5 d) W; B1 X2 f0 ?9 H+ i2 Lreturn 0; : ^% z' X1 `5 V9 R( F* g
} - d( S a9 J( G" I6 C# y
H }$ G; Z+ J/ f2 a
4 V) b+ Y' L& m7 H</FONT></P> f! C Q* H# |- d$ J6 X) y' y
< ><FONT color=#ff0000>函数名: unlink </FONT>
# Y' x: B3 C& D/ e0 Z功 能: 删掉一个文件
) e8 \0 z8 W1 G' c用 法: int unlink(char *filename);
1 C" w8 W+ S* k/ a3 q1 }! H程序例: </P>
' J: M% L) ]8 Y< ><FONT color=#0000ff>#include <STDIO.H>8 T" }7 f' a/ }. L7 w3 z" X/ m' X6 J
#include <IO.H></FONT></P>
) m) p& y% A0 {, \! G! O<P><FONT color=#0000ff>int main(void)
) r* D6 W/ g$ S: r3 y{ & n" @/ V, V8 p9 \/ R5 E
FILE *fp = fopen("junk.jnk","w");
. z q3 a8 R# q0 e! Dint status; </FONT></P>9 w7 P& c9 i5 h, _
<P><FONT color=#0000ff>fprintf(fp,"junk"); </FONT></P>2 e2 V* B- X/ T: c3 T8 E! @+ J' ^2 @
<P><FONT color=#0000ff>status = access("junk.jnk",0); 8 }3 N/ B; _7 P4 `' \" O( ? M
if (status == 0) % X% |% Z/ t( t3 }; t
printf("File exists\n"); : z) w; W% g* y
else 6 ^. `* G: i) P7 Y1 `
printf("File doesn't exist\n"); </FONT></P>- Y- n9 C/ ~6 L1 ]4 _. r
<P><FONT color=#0000ff>fclose(fp);
. D- h! u4 a& h* W. K0 ]unlink("junk.jnk");
+ s1 {& M+ P! Gstatus = access("junk.jnk",0); ) ~$ T4 J7 O4 ]" ?
if (status == 0)
6 P8 ^% l) y8 G! W* \printf("File exists\n"); # D, B1 z' B/ R6 R) g
else
) V2 |- Q" O. ^+ @- D/ Wprintf("File doesn't exist\n");
0 r. Y$ b9 N5 z% C</FONT></P>
! E8 l1 }9 W H# K9 J4 @2 c<P><FONT color=#0000ff>return 0; m( G5 s0 o6 Z1 O( T t
} 9 _8 o! x! }+ ^# C8 V1 C" G8 Y
6 m' G8 z; ~9 z- C5 ^7 ^* H! w</FONT>
2 b7 p+ j2 V% s( W' T</P># v0 M g* y' x0 H0 C# [" L' C
<P><FONT color=#0000ff>函数名: unlock </FONT>
& {" D. F- T" g功 能: 解除文件共享锁
' L. R4 k* o5 S% ?$ g r2 Z" `9 T& Z用 法: int unlock(int handle, long offset, long length);
! v/ A/ O' ?+ F# o- o3 ?程序例: </P>
/ Z0 ~' V% m6 ?<P><FONT color=#0000ff>#include <IO.H>: X9 v0 B1 L7 |; ^3 Z2 \$ ~
#include <FCNTL.H>5 E& ^/ N4 K4 j+ w# j, Q2 M
#include <SYS\STAT.H>
5 ^9 E s5 o$ [: Y/ u0 o#include <PROCESS.H>
& P9 S) y$ b. }#include <SHARE.H>' f! \8 c& }7 m3 a
#include <STDIO.H></FONT></P>, X# b% @, ^* J1 ]# j
<P><FONT color=#0000ff>int main(void)
# g# Z4 b0 g* n/ \' U{
2 j0 F$ O$ i6 A- A& ~: Wint handle, status;
& L$ A) `5 R7 k: J S" Q! D. l5 c/ olong length; </FONT></P>. D& U+ s2 A; w6 ^3 d, ~
<P><FONT color=#0000ff>handle = sopen("c:\\autoexec.bat",O_RDONLY,SH_DENYNO,S_IREAD); </FONT></P>
& w5 P3 c. q+ D) \7 U( g! |<P><FONT color=#0000ff>if (handle < 0) , A6 d1 S' E1 T7 M7 C
{ + ^( H( n/ [; x; S6 y+ p$ d8 Q( `
printf("sopen failed\n"); 8 U2 z0 l6 T% T! B' i2 ~
exit(1);
1 P$ t* m# |6 @+ B# k+ M+ Q} </FONT></P>
$ @, |& A) E s9 w7 }<P><FONT color=#0000ff>length = filelength(handle); ( q2 g& v- }* w; p0 q# Z+ y
status = lock(handle,0L,length/2); </FONT></P>' N. P3 U3 Y* r. B w2 z7 C
<P><FONT color=#0000ff>if (status == 0)
& l, G6 D- R4 ]5 s( Bprintf("lock succeeded\n");
5 |$ p, e0 P( X& Xelse
8 H- _" Y& z, }/ Y: bprintf("lock failed\n"); </FONT></P>
" i0 m6 R5 b. P, @, T- C! U<P><FONT color=#0000ff>status = unlock(handle,0L,length/2); </FONT></P>5 K: ~2 X/ I+ @) |% }( C
<P><FONT color=#0000ff>if (status == 0) 6 _) C6 @ `; p7 O
printf("unlock succeeded\n"); , |% Q8 F7 z! C% E$ t5 L8 ?3 i9 M3 D- q
else V. d! f4 U' G- u* L% P! i
printf("unlock failed\n"); </FONT></P>
2 y) V; V* I8 R* U, M3 A. q7 W<P><FONT color=#0000ff>close(handle); 9 J6 X G/ X3 d4 B2 Z% Q h& b
return 0; 1 H# w+ C6 E: P- ?9 ~5 y8 |
} </FONT></P> |
zan
|