- 在线时间
- 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>9 _6 P$ c6 K( r5 Q- c! r
功 能: 转换一个无符号长整型数为字符串 3 o9 G( b& Z. I: ]
用 法: char *ultoa(unsigned long value, char *string, int radix);
! e p5 s2 W4 E" C$ I# U. v程序例: </P>
. ^8 e8 Q5 l! ]$ G< ><FONT color=#0000ff>#include <STDLIB.H>1 ~- D" \; n7 g; P0 C- J1 b; g' n
#include <STDIO.H></FONT></P>3 T) G& v" R4 n6 E2 v1 l* v( U7 j
< ><FONT color=#0000ff>int main( void ) 0 N2 P1 B7 H Y& v
{ ( Z0 P3 D! V0 q7 Z
unsigned long lnumber = 3123456789L;
2 ^- }6 a2 r, Q% O+ K3 n$ w) hchar string[25]; </FONT></P>- ^9 u; G; L9 u$ C. G! l, o
< ><FONT color=#0000ff>ultoa(lnumber,string,10); 0 Z% |- d( k4 `" J7 m
printf("string = %s unsigned long = %lu\n",string,lnumber); </FONT></P>
! M6 W0 W1 r% M$ p: ~: B; O+ t< ><FONT color=#0000ff>return 0; 5 F$ g e9 [' ^" o
} , |# _1 k ^- n0 h9 C; L% ]
</FONT>
, P- a; |+ V/ A, u# J B1 }- `( d: X7 }( K
</P>
6 q- G0 D! e6 y4 \< ><FONT color=#ff0000>函数名: ungetc </FONT>
, C1 c2 T. s- [4 J! f! n功 能: 把一个字符退回到输入流中 ' M" N& ^; J+ K' [0 p H# T) A" X
用 法: int ungetc(char c, FILE *stream);
% f1 A* F1 t5 q$ Z* u7 |! v程序例: </P>
; ~/ j+ e4 ? ?" x5 g3 \< ><FONT color=#0000ff>#include <STDIO.H>
0 Q H D2 y N7 _) z! T4 q7 `#include <CTYPE.H></FONT></P>
" o% n3 d6 [& G- u, i% j< ><FONT color=#0000ff>int main( void )
$ X! [% H0 O: `* w z{ + F2 n* g2 d) Q2 o+ i. m
int i=0;
9 q) K6 i7 [- [+ hchar ch; </FONT></P>
8 o$ h& Z5 c6 v5 K< ><FONT color=#0000ff>puts("Input an integer followed by a char:"); </FONT></P>; Z" D# T9 Y; a! L
< ><FONT color=#0000ff>/* read chars until non digit or EOF */ . ]( Q8 `3 L) z
while((ch = getchar()) != EOF && isdigit(ch)) 1 V0 j( `6 U x) ?
i = 10 * i + ch - 48; /* convert ASCII into int value */ </FONT></P>
% T5 }6 M5 a" K& V: ^4 S, k. V- m< ><FONT color=#0000ff>/* if non digit char was read, push it back into input buffer */ / _! }, e% F- c6 b4 m
if (ch != EOF) 1 ?8 n8 J ?+ F2 S% o, ]
ungetc(ch, stdin); </FONT></P>
B+ f! W7 d2 {# b$ N< ><FONT color=#0000ff>printf("i = %d, next char in buffer = %c\n", i, getchar());
+ g5 ?- l/ O& R( D7 i# ^return 0;
^* }3 o2 U& d$ O/ {5 U} </FONT>9 F2 B5 C! h* s- @+ |+ D, b* L0 o
" v9 G- l6 o* D. P$ o
9 k2 f, r2 |* }
</P>4 q3 u1 a) x; R2 w
< ><FONT color=#ff0000>函数名: ungetch </FONT>
! Y& s' s4 |' f6 m1 Y. |功 能: 把一个字符退回到键盘缓冲区中
* [8 E1 ~$ x+ O1 b. |& R用 法: int ungetch(int c);
8 F+ I6 G! }$ e程序例: </P>
6 }5 Z1 d% B6 b< ><FONT color=#0000ff>#include <STDIO.H>
?4 y; ~" f7 w# {" l4 o5 R% m) v#include <CTYPE.H>4 C/ j- r+ z/ C: g( e( {7 _. P
#include <CONIO.H></FONT></P>) Q, ?! x& x$ B/ k8 V; H O- m
< ><FONT color=#0000ff>int main( void ) " b; V; l6 L( A5 N" [! V0 P: `
{ 6 W+ N7 `# Z* c4 @3 {
int i=0; 8 b8 N! Z- ]8 q
char ch; </FONT></P>
+ }$ a) B' H4 s l' M+ n< ><FONT color=#0000ff>puts("Input an integer followed by a char:"); </FONT></P>
+ n ]9 a. }! j" [: ~- N' g< ><FONT color=#0000ff>/* read chars until non digit or EOF */
+ [0 J( v1 ~( D' r4 ~* |1 ^while((ch = getche()) != EOF && isdigit(ch)) 1 @+ w" n+ f0 v: W/ h( a. @
i = 10 * i + ch - 48; /* convert ASCII into int value */ </FONT></P>
( b& U7 r0 X+ K5 Z- B/ A< ><FONT color=#0000ff>/* if non digit char was read, push it back into input buffer */
% C) V" l4 H5 ~- p" A; Jif (ch != EOF) & g1 [: f) y# P: p& l
ungetch(ch); </FONT></P> f9 V6 U( h( A6 I/ r
< ><FONT color=#0000ff>printf("\n\ni = %d, next char in buffer = %c\n", i, getch());
2 E# d4 J5 q' E6 }8 dreturn 0;
) X! T* I7 B% n} ; f0 `6 b3 C+ K0 l
( @5 ?2 b& F2 L- c$ M$ ]) G! H
* }% M) p4 {. T6 J</FONT></P>
" P7 {. Q/ u8 n& G8 K< ><FONT color=#ff0000>函数名: unixtodos </FONT>& ~) M$ i: L6 N4 x1 @
功 能: 把日期和时间转换成DOS格式
% Z+ m4 L- P; ?用 法: void unixtodos(long utime, struct date *dateptr,
5 Y8 c% v( C1 _* Xstruct time *timeptr); $ ]' B( d7 ^" D" N u h
程序例: </P>
% E( R3 p/ ~1 U" a$ P1 x< ><FONT color=#0000ff>#include <STDIO.H>
+ @$ ?9 _; M6 p, J0 @! [#include <DOS.H></FONT></P>
; p8 W% z, I& f) _ R+ E< ><FONT color=#0000ff>char *month[] = {"---", "Jan", "Feb", "Mar", "Apr", "May", "Jun",
3 s( F" z# o6 B" s9 I3 M"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; </FONT></P>$ N y5 v }7 t& @! S! B0 `4 L5 s
< ><FONT color=#0000ff>#define SECONDS_PER_DAY 86400L /* the number of seconds in one day */ </FONT></P>
. B, d$ e8 V2 C$ d3 V6 A$ p< ><FONT color=#0000ff>struct date dt;
! @5 S7 j: ?2 Cstruct time tm; </FONT></P>
4 i2 Y! U H6 L& {- h< ><FONT color=#0000ff>int main(void) ( L& @0 r, h+ z9 j
{
x% y; p$ h- Z% ?( ounsigned long val; </FONT></P>4 \# M3 }6 Q8 I; q5 _8 K2 E9 g
< ><FONT color=#0000ff>/* get today's date and time */ # K! f6 b1 F0 t; F! C* R
getdate(&dt); 7 L, i$ N: ^* h) X$ H
gettime(&tm); 8 O/ V# D$ F H2 H! T
printf("today is %d %s %d\n", dt.da_day, month[dt.da_mon], dt.da_year); </FONT></P>1 I$ j' T8 d8 n" Q
< ><FONT color=#0000ff>/* convert date and time to unix format (number of seconds since Jan 1, 1970 */
+ D% u2 f, y3 C4 q& G! tval = dostounix(&dt, &tm); % @* K6 T3 K8 I, j. x
/* subtract 42 days worth of seconds */ 9 v" V8 [7 E# m9 U% x& b' `
val -= (SECONDS_PER_DAY * 42); </FONT></P>3 H& n2 B' e1 W: S4 w
< ><FONT color=#0000ff>/* convert back to dos time and date */
- |# e, y0 n% Z; W3 [) E% Eunixtodos(val, &dt, &tm); : r( k. X$ k' V! V+ f1 Y$ }
printf("42 days ago it was %d %s %d\n",
" y) X8 m- }$ hdt.da_day, month[dt.da_mon], dt.da_year);
& V3 Y) G; k) X Y# I0 \4 P7 vreturn 0; / W% i. D: H0 {
}
1 a0 R' p8 F: c8 {# [! i7 k o; J6 s1 w( d7 s4 J
\; U: H( V: i" o0 m( J
</FONT></P>
9 ]; {/ ~' v( X0 g7 F< ><FONT color=#ff0000>函数名: unlink </FONT>
" }$ q9 G: a9 w( ^5 M; Z3 X功 能: 删掉一个文件
6 a' w$ a/ B, }用 法: int unlink(char *filename); 4 v) m! w* K0 \# k! \. h" A
程序例: </P>
0 E: z5 F5 D( b/ L g) ~- ?3 r: N, g< ><FONT color=#0000ff>#include <STDIO.H> V7 r& C' t$ m! a d
#include <IO.H></FONT></P>- D! O0 Y9 y# E, ]$ ?$ U& U. l0 l6 y
<P><FONT color=#0000ff>int main(void) # b, y) J$ O# U" O3 a% b" H1 p
{ z) c/ S8 g9 M. x2 a2 }
FILE *fp = fopen("junk.jnk","w");
+ f" v! x8 K- n1 wint status; </FONT></P>7 ^3 t0 u+ L$ ^ C, y( e
<P><FONT color=#0000ff>fprintf(fp,"junk"); </FONT></P>
6 ~4 j3 d; }- D. J<P><FONT color=#0000ff>status = access("junk.jnk",0);
1 p6 U$ ^8 N1 e7 r) eif (status == 0) . G# J y' r# ]9 {4 M! w" S. E
printf("File exists\n"); % t& E0 w6 z1 T/ ~( o! p) o
else
# ?2 G1 E& n/ ]# B& w K& t+ Aprintf("File doesn't exist\n"); </FONT></P>
/ g6 h% h( W. x<P><FONT color=#0000ff>fclose(fp); : Z6 S; E+ M; C3 k& H l
unlink("junk.jnk"); 8 N" p }4 ~ S+ x6 i+ d; C/ n0 L
status = access("junk.jnk",0); @' n* p2 ]; @- H- p
if (status == 0)
( N G; o5 [2 C+ [4 Pprintf("File exists\n");
2 J( S7 F4 F8 u/ V/ F2 V0 k9 eelse
/ w, n7 |- d5 Oprintf("File doesn't exist\n"); 9 W2 v% f' C+ \. e! f
</FONT></P>- S7 B$ q' W5 A& I( u
<P><FONT color=#0000ff>return 0;
3 l: l" d4 s) n) f4 N} & h0 y6 X9 Z; S
6 f' L; Z5 Z3 I, V
</FONT>
% ]/ i" ^6 p. ^</P>
0 p {( M5 d/ v7 J# f& F<P><FONT color=#0000ff>函数名: unlock </FONT>
8 g3 q- J6 Q8 ]3 m! m& ?功 能: 解除文件共享锁 * J% c. K. f" E( H3 U3 I- V3 f
用 法: int unlock(int handle, long offset, long length);
9 ?2 c: o% r' _) G Q( |程序例: </P>* D( t% p( V% t, D9 Y4 r/ S
<P><FONT color=#0000ff>#include <IO.H>- z* f9 _0 T; o5 |8 v8 M" ^
#include <FCNTL.H>
) w1 `4 g. A4 h' n! B#include <SYS\STAT.H>
$ `; L6 O% F1 m) i/ ^* S3 g#include <PROCESS.H>& H4 D. `& g& e6 f; @
#include <SHARE.H>
6 ]+ [& m7 y* s: B& y \#include <STDIO.H></FONT></P>1 g1 q E% |1 n* Y) f% b
<P><FONT color=#0000ff>int main(void)
( F! J/ K# z+ G& i9 N$ [{
2 K3 z0 j F" C& Z7 [6 |* ]! l$ Y7 iint handle, status; $ s& \' H% P* r; N0 Y; q
long length; </FONT></P>! T8 R0 S. c \! ^ i: W6 B
<P><FONT color=#0000ff>handle = sopen("c:\\autoexec.bat",O_RDONLY,SH_DENYNO,S_IREAD); </FONT></P>
2 c- c, }4 o- S$ L+ K<P><FONT color=#0000ff>if (handle < 0) ) l7 o- V* |/ [0 l. o _
{ 4 P% `2 o% B6 k6 m
printf("sopen failed\n"); 1 W+ l y# H: I8 z$ t; e
exit(1); & P. q7 [1 |5 y! S1 i
} </FONT></P>
" G$ F, k) u8 `* ], e) d+ P' Y<P><FONT color=#0000ff>length = filelength(handle); / \0 W/ {, v- ]
status = lock(handle,0L,length/2); </FONT></P>
, ^5 B. K6 R- w<P><FONT color=#0000ff>if (status == 0)
4 d% t* ^2 c" X* Z# d* Tprintf("lock succeeded\n");
' H n2 `) [2 ?# Yelse - X4 } I5 {* A! ]( ?9 k9 O
printf("lock failed\n"); </FONT></P>
. x, L8 v, ]2 t& Y! @<P><FONT color=#0000ff>status = unlock(handle,0L,length/2); </FONT></P>
* k. c- z% }3 m/ V. h<P><FONT color=#0000ff>if (status == 0) # V) t' E- f, ^: ^
printf("unlock succeeded\n");
; L1 [* }0 A7 l5 f7 selse / i! l/ C9 W* m1 [
printf("unlock failed\n"); </FONT></P>
7 _, F" I# M& N<P><FONT color=#0000ff>close(handle);
6 U0 _! R" a8 O3 U. oreturn 0;
+ I" `# n& i7 ]/ [. U$ N* f} </FONT></P> |
zan
|