- 在线时间
- 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>! @2 ^6 I9 j S7 U D; B1 T
功 能: 转换一个无符号长整型数为字符串 ! T6 v5 K8 |8 b% M& G0 {
用 法: char *ultoa(unsigned long value, char *string, int radix); / h# o3 t2 C1 E4 y d. x
程序例: </P>
# f9 X" v- G; u3 U& }0 U# |3 t< ><FONT color=#0000ff>#include <STDLIB.H># f/ d( C# v- y6 ?+ T, f
#include <STDIO.H></FONT></P>3 Z# u, s8 t2 s, S; q3 U: A
< ><FONT color=#0000ff>int main( void )
- s3 z: _. S v{
1 ?2 L$ s/ V0 s+ @: Junsigned long lnumber = 3123456789L; " D7 I; V) Y! W T' z \
char string[25]; </FONT></P>
u& M2 P8 a/ k! v/ |9 V< ><FONT color=#0000ff>ultoa(lnumber,string,10);
: s9 B2 F& ^; [. _2 ~/ Zprintf("string = %s unsigned long = %lu\n",string,lnumber); </FONT></P>2 }) |' t+ v; N
< ><FONT color=#0000ff>return 0; + ]6 [0 L; I6 o7 C! z, ]% o7 [
} : R6 y4 o! k1 p- ]9 t/ q8 ~$ i
</FONT>
$ p- K4 L8 r! y' t0 |1 Z/ ?$ _. S# p! j! m. K, \! J5 \/ I4 V2 \
</P>
5 F% h) j/ ]; A9 z% ]8 i }< ><FONT color=#ff0000>函数名: ungetc </FONT>4 f; Q4 B0 g0 W; T& _
功 能: 把一个字符退回到输入流中 * @# ]+ {* h. V, C1 X( s/ T& W3 `
用 法: int ungetc(char c, FILE *stream);
3 |' n0 ~) a/ z/ m, g, G程序例: </P>
4 g- W9 K5 P9 Z$ F1 ?( n4 Q< ><FONT color=#0000ff>#include <STDIO.H>( o+ A+ U7 j* B: V# f
#include <CTYPE.H></FONT></P>
- s) V5 d: z: y$ G0 D( r1 }( L< ><FONT color=#0000ff>int main( void ) ; V: Z9 \0 ^% e! c! B( B/ u
{
* M- c1 Q0 y3 i. r( {) L8 e+ nint i=0; F; i6 H6 E+ ~6 [% k# z
char ch; </FONT></P>
( W: \. C- Q; k5 Q/ k( n- D< ><FONT color=#0000ff>puts("Input an integer followed by a char:"); </FONT></P>
/ R- S8 ?& U- {: @9 `< ><FONT color=#0000ff>/* read chars until non digit or EOF */
& q+ E2 A- \3 l, rwhile((ch = getchar()) != EOF && isdigit(ch))
& q4 O6 m! C1 h" n" y7 _# j/ k- vi = 10 * i + ch - 48; /* convert ASCII into int value */ </FONT></P>8 L; ^) i9 I2 c. T E
< ><FONT color=#0000ff>/* if non digit char was read, push it back into input buffer */ : ~$ F9 _; h9 m( P3 X8 r z( X
if (ch != EOF) & Z5 _* n1 V3 t3 D: ~
ungetc(ch, stdin); </FONT></P>
5 a+ J3 f5 }8 O/ G2 J+ y< ><FONT color=#0000ff>printf("i = %d, next char in buffer = %c\n", i, getchar()); 7 t. [7 `* R [
return 0; # Q: ?) g6 ^. E) w7 }3 h: `
} </FONT>
" ^: n% i4 {( w t7 a' N* |! k0 b" a! z4 }2 [2 P
& v1 m/ h R! o3 G6 J0 \# l</P>
' J4 H" k$ \3 c/ j; V# J< ><FONT color=#ff0000>函数名: ungetch </FONT>; x, P( W+ a+ x K4 e9 w {3 E& r
功 能: 把一个字符退回到键盘缓冲区中 % s5 }5 N& h( A6 ]$ a9 k7 {& p9 `
用 法: int ungetch(int c);
0 O. y3 O% ]9 G3 z/ k& d程序例: </P>- ~) K9 u' D; k. J l h9 B
< ><FONT color=#0000ff>#include <STDIO.H>2 f; k0 z0 D5 U& d
#include <CTYPE.H>1 X/ e: @2 ]8 b) a/ E; K" H# @8 y4 k
#include <CONIO.H></FONT></P>
4 u$ v& L4 H- u" T5 ~( k4 a5 X! p< ><FONT color=#0000ff>int main( void ) 5 h/ `, Q* n9 y$ k3 m& S
{
& [9 @3 L" ^4 E' i2 @" Aint i=0; ) |; ]1 k4 b' W0 {8 z$ h
char ch; </FONT></P>0 p1 D: L: G3 `: [. [( U
< ><FONT color=#0000ff>puts("Input an integer followed by a char:"); </FONT></P>
! C/ _, Z/ h: R9 b, u$ @< ><FONT color=#0000ff>/* read chars until non digit or EOF */
3 t" f I ]% ?# C) ^) Q9 twhile((ch = getche()) != EOF && isdigit(ch)) 8 M) F* l0 s: b' a4 y. {2 Y
i = 10 * i + ch - 48; /* convert ASCII into int value */ </FONT></P>
! @* J3 `9 a/ V- I6 \4 h< ><FONT color=#0000ff>/* if non digit char was read, push it back into input buffer */ 3 ]& t/ _, O( F1 c. e
if (ch != EOF) . |, @, J' n. [+ ^
ungetch(ch); </FONT></P>5 l$ V4 w) B5 w& G0 e. E
< ><FONT color=#0000ff>printf("\n\ni = %d, next char in buffer = %c\n", i, getch());
8 x3 H+ ^8 w8 t( A Yreturn 0;
2 G% Z. O* g/ w. F# M} 0 P! r$ d0 b3 P" o( c
. e* X+ ^& |# e
0 o- `/ D( p# j% T
</FONT></P>- ~, [) w" M0 u" `
< ><FONT color=#ff0000>函数名: unixtodos </FONT>
# b& q% N% o4 I- Z% ~& z功 能: 把日期和时间转换成DOS格式
, W, }) v3 v* ~7 P& \* r2 R I! M用 法: void unixtodos(long utime, struct date *dateptr, ) y# a, o) S) h
struct time *timeptr); 0 Q7 s- c7 F% q" d7 h
程序例: </P>
Y! K' J- {9 o" t< ><FONT color=#0000ff>#include <STDIO.H>
3 F) |% _: V0 p+ c& k: `/ A. z#include <DOS.H></FONT></P>5 p$ V F6 I7 r
< ><FONT color=#0000ff>char *month[] = {"---", "Jan", "Feb", "Mar", "Apr", "May", "Jun",
) q/ a9 a# ^& Y/ C9 u# S% \"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; </FONT></P>
4 K4 ~% A4 l( x2 E' w< ><FONT color=#0000ff>#define SECONDS_PER_DAY 86400L /* the number of seconds in one day */ </FONT></P>
& m' U3 O; z2 _! T, n% ?< ><FONT color=#0000ff>struct date dt;
' c. X/ C3 n( s- tstruct time tm; </FONT></P>
( ]7 g6 f+ G9 s% R) C+ v, `7 R- k6 \< ><FONT color=#0000ff>int main(void) $ O: j' L& a$ [# ?( r) Q t
{
; k' n( U5 _: Y. i6 v$ I4 z/ ~unsigned long val; </FONT></P>& t0 W6 F' I8 ?7 i* ?# q) _
< ><FONT color=#0000ff>/* get today's date and time */
- V7 u7 S5 S' v8 `) v; r! V! {" Tgetdate(&dt);
1 Q! @' y. U; xgettime(&tm); 4 E. i A9 n# c6 {. K5 u
printf("today is %d %s %d\n", dt.da_day, month[dt.da_mon], dt.da_year); </FONT></P>) W# o5 z# D! ?/ s! n6 H
< ><FONT color=#0000ff>/* convert date and time to unix format (number of seconds since Jan 1, 1970 */
& c0 k, k$ o6 ival = dostounix(&dt, &tm);
, x: B8 T( P( b0 P$ p$ K/* subtract 42 days worth of seconds */
) r. p& y) p- Y- P! U, ?1 aval -= (SECONDS_PER_DAY * 42); </FONT></P>
+ L- O$ Q7 x( z/ w9 ]< ><FONT color=#0000ff>/* convert back to dos time and date */
. i( r: ~2 C: _) o/ g3 ?unixtodos(val, &dt, &tm);
) i( Z9 \9 W/ L6 o1 c `printf("42 days ago it was %d %s %d\n",
6 N: B+ K1 K w' f& k5 h2 {! S9 jdt.da_day, month[dt.da_mon], dt.da_year);
5 n( p: R( k! G& Vreturn 0;
$ l; `% \% Q" t$ Q+ n3 [3 A} 0 v' l$ S& ]" ~# v; F# d" V q. T
( p# @! P0 g* ?8 J- _
2 Z2 A; T E. V) T
</FONT></P>4 B7 Y# {" s6 n! }/ X
< ><FONT color=#ff0000>函数名: unlink </FONT>! C8 l1 H9 A( T* ^& W; V
功 能: 删掉一个文件 ! q! F& X0 l4 `& i) k" P* ]
用 法: int unlink(char *filename);
+ A# r/ d( ^8 W [5 ~+ U1 i程序例: </P>
) r/ i- G0 J" Y( C& Z z/ u$ j3 F: f& B< ><FONT color=#0000ff>#include <STDIO.H>( O& e; r' R; A- O6 J- W5 S
#include <IO.H></FONT></P>
6 w' n t+ u2 u) a% R9 M<P><FONT color=#0000ff>int main(void)
. W3 B% [1 V( K6 T{ 1 E% W4 H1 x- M( o. N
FILE *fp = fopen("junk.jnk","w"); " U* `# X9 m$ w' @$ ~* H0 h
int status; </FONT></P>$ Z8 \$ f, S( F7 Z, U! @% u* z
<P><FONT color=#0000ff>fprintf(fp,"junk"); </FONT></P>$ a# R8 M+ P( q
<P><FONT color=#0000ff>status = access("junk.jnk",0);
+ D- a2 h; X0 U/ Z) ?: Zif (status == 0) , H# w: Q" w2 j/ k
printf("File exists\n");
. w( x8 G9 c3 v1 s+ A& Celse
' T( K, p2 I4 q' {. A; wprintf("File doesn't exist\n"); </FONT></P>" u ^: V8 Y1 J7 N: W4 K; z' s
<P><FONT color=#0000ff>fclose(fp); ; ?1 Q" k4 w1 r$ r0 w% \
unlink("junk.jnk"); G. j9 o+ Q4 F/ P
status = access("junk.jnk",0); + m0 W' i0 W! m/ S# W2 m; [0 V
if (status == 0) ; `3 b* H' j# U& C+ g
printf("File exists\n");
& K( k+ i& X) j K6 K, G' E [4 \( melse & Y( {5 f& y# \- w" C! v
printf("File doesn't exist\n");
) P$ m! f8 J5 n- K+ \</FONT></P>) C9 u; }% }- F1 [1 T
<P><FONT color=#0000ff>return 0; . l+ k: Q" L+ x' {4 [
}
( i9 S$ [" E) @9 y! y- d2 T1 n2 @# k% ^ ?3 ^5 a, S- |$ |$ `
</FONT>& z* k Y( A- z# ?+ H1 h
</P>5 j0 L( W6 a# i" F# }" X
<P><FONT color=#0000ff>函数名: unlock </FONT>: `# ?" a" e9 [, ~6 o+ I) b
功 能: 解除文件共享锁 5 |) Q4 P) ]" x/ B2 q, ~, D
用 法: int unlock(int handle, long offset, long length);
& e! @( L9 G5 M; c程序例: </P>
1 w9 k+ ^& |0 i, b% r! [/ h6 b1 G<P><FONT color=#0000ff>#include <IO.H>
! P) ]' q& s5 `' J" ^1 ~0 \#include <FCNTL.H>7 t% ~$ u5 l+ I# N6 v; p
#include <SYS\STAT.H>4 D8 g1 s. F# h+ ~2 Y& |9 g$ c( I" R
#include <PROCESS.H>
& D4 p5 Y& l3 ?' ~( b4 p# J1 O#include <SHARE.H>
! q, v6 o. T* X k#include <STDIO.H></FONT></P>9 ?5 c# M, \7 z3 H: X7 _
<P><FONT color=#0000ff>int main(void)
4 o. h2 p/ n# H, y* D3 V- Z& r1 G; W{ 6 ?/ X: ~4 v# d9 @- S& U( a8 x( m
int handle, status;
; v/ D& E9 [7 G& @) A1 Ilong length; </FONT></P>7 W; o" G( o9 L m% ?' k
<P><FONT color=#0000ff>handle = sopen("c:\\autoexec.bat",O_RDONLY,SH_DENYNO,S_IREAD); </FONT></P>! m9 W Z: d; F4 ~; O& I
<P><FONT color=#0000ff>if (handle < 0)
" ?, a" G! v. j& `! N9 S{
* W/ ` A& e3 v" O" N3 Zprintf("sopen failed\n"); 6 q" o7 W/ ]. X3 u7 E/ G/ p4 x' e
exit(1); : s# {* E4 o; A/ C% q4 i5 \
} </FONT></P>
8 }% i5 }4 p, [- Z5 _<P><FONT color=#0000ff>length = filelength(handle);
- o1 g. \% y/ vstatus = lock(handle,0L,length/2); </FONT></P>
( B* K5 M! x$ J8 x3 l( x6 E( U<P><FONT color=#0000ff>if (status == 0) : x4 ^# {7 z8 e) t" l: \8 d
printf("lock succeeded\n");
# Z- b" w4 B# Jelse 9 g: S/ Q+ r* m/ Q
printf("lock failed\n"); </FONT></P>
1 R" O! Z6 v z$ u/ Y' ]" V<P><FONT color=#0000ff>status = unlock(handle,0L,length/2); </FONT></P>+ _& M) l% o0 F! z! y
<P><FONT color=#0000ff>if (status == 0)
) v% @& |, @3 H8 x( J7 X+ ]printf("unlock succeeded\n");
# o8 h0 _- V E( G( s/ helse ' v% k4 p5 _2 S2 S: V7 J. y
printf("unlock failed\n"); </FONT></P>
. e& a' _2 G6 @- _<P><FONT color=#0000ff>close(handle); 9 _" J- \* N' S* Y# W9 }4 |" e
return 0;
$ m9 a5 A+ G- w} </FONT></P> |
zan
|