QQ登录

只需要一步,快速开始

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

函数大全(u开头)

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-4 02:54 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
<><FONT color=#ff0000>函数名: ultoa </FONT>2 L) a4 I1 p/ o. ~2 M
功 能: 转换一个无符号长整型数为字符串
% e0 r9 T6 L3 d用 法: char *ultoa(unsigned long value, char *string, int radix); ' b$ T3 z# C6 O8 h3 d4 d
程序例: </P>( d4 ?+ C3 ?' k
<><FONT color=#0000ff>#include <STDLIB.H>+ X. l* K: a% C  `1 g0 \
#include <STDIO.H></FONT></P>
$ ]3 j% a2 S0 G/ x0 r+ i# i( @<><FONT color=#0000ff>int main( void ) / e( r8 Y' Q, n8 L9 h1 t7 p: U- }
{
  W- S3 |4 }6 \& gunsigned long lnumber = 3123456789L;
* u+ f2 ?2 P) |: Fchar string[25]; </FONT></P>
+ W: c7 ^5 Q7 f+ M/ [  ?<><FONT color=#0000ff>ultoa(lnumber,string,10);
) D+ S6 l2 R2 L% v% a9 c1 H# ~5 lprintf("string = %s unsigned long = %lu\n",string,lnumber); </FONT></P>0 g1 t8 \' U9 {# R1 U# d
<><FONT color=#0000ff>return 0; ( C& v; O7 z) D! x3 Y9 t
} ' ~1 g3 j" g% b5 l, b! z
</FONT>& j* @" F7 r7 G. {8 V3 K

7 r( d: P) v9 Y  w0 p! e& `+ ]</P>3 f" E6 d- k1 O
<><FONT color=#ff0000>函数名: ungetc </FONT>
% R; i# {8 a; m& H功 能: 把一个字符退回到输入流中
4 S" \& g- u: C3 d用 法: int ungetc(char c, FILE *stream); 4 R5 l/ j  s& o  k! S: }: B+ e, b8 w
程序例: </P>. k8 |7 N* \% Z/ s2 L
<><FONT color=#0000ff>#include <STDIO.H>  E" C% S0 R$ \9 W8 ?
#include <CTYPE.H></FONT></P>8 r6 i; w+ {( ^9 }: R
<><FONT color=#0000ff>int main( void ) : k5 h; l( d! F6 G; C( I1 e5 q( j. ]
{
! r1 X) ]  O4 n( Q% }5 O$ ?int i=0; 6 l  G  s2 ~/ E5 s+ c
char ch; </FONT></P>
$ @2 b- ^( a$ V6 H! e6 |. a; \2 B. ~: e<><FONT color=#0000ff>puts("Input an integer followed by a char:"); </FONT></P>
: y5 X0 U3 s# x" _<><FONT color=#0000ff>/* read chars until non digit or EOF */
/ f6 ]/ C0 K! E% P; rwhile((ch = getchar()) != EOF &amp;&amp; isdigit(ch)) 5 V: u* ]8 Q# z. c& Z
i = 10 * i + ch - 48; /* convert ASCII into int value */ </FONT></P>4 c" h0 n5 _* M5 Z! b$ P7 b
<><FONT color=#0000ff>/* if non digit char was read, push it back into input buffer */
( [1 _0 d" I3 I. h" q6 nif (ch != EOF)
9 f8 m. T+ L: E3 Y$ a) ^! Qungetc(ch, stdin); </FONT></P>
. p" e$ E; h6 x/ Q: E- t4 c) ]<><FONT color=#0000ff>printf("i = %d, next char in buffer = %c\n", i, getchar()); 6 b' {4 A2 _2 L1 l
return 0;
3 A6 U# I! N3 t7 n- u} </FONT>; e8 l# ~( E  s* ?  e

! w7 D8 U$ v) L! O8 H6 A& m! X) J
</P>& [1 M0 |7 D2 W* p
<><FONT color=#ff0000>函数名: ungetch </FONT>
* ]" b* r& Z2 X; k+ q; x/ P功 能: 把一个字符退回到键盘缓冲区中
5 x2 A+ i3 J/ y) I1 [0 p, e用 法: int ungetch(int c); - M2 _0 {* x% H, {1 z4 s
程序例: </P>
  e1 W# \( z/ k7 }" @<><FONT color=#0000ff>#include <STDIO.H>
9 [+ ]# U0 W* @" l#include <CTYPE.H>$ X: w5 i$ a1 |/ Q. l+ V" t7 K
#include <CONIO.H></FONT></P>
1 y6 M/ E2 g: ^7 J  F% {<><FONT color=#0000ff>int main( void )
) S% U" h* U+ H. ?{ % W! G2 R8 B) |" D$ @' G% ?
int i=0;
" j8 u2 z& P8 b; V; M- w: qchar ch; </FONT></P>
, M9 Z8 |  P+ b<><FONT color=#0000ff>puts("Input an integer followed by a char:"); </FONT></P>
& N) S5 L/ z! a+ @! R1 {<><FONT color=#0000ff>/* read chars until non digit or EOF */
. @" g% l8 w, k1 S7 [while((ch = getche()) != EOF &amp;&amp; isdigit(ch)) : |2 L9 ?" P: z; X
i = 10 * i + ch - 48; /* convert ASCII into int value */ </FONT></P>
$ [8 w: ?, x0 G8 J) d<><FONT color=#0000ff>/* if non digit char was read, push it back into input buffer */ & {& L1 l7 [1 z8 g( ?
if (ch != EOF)
: j# d$ R( X# e9 w+ D5 qungetch(ch); </FONT></P>( z' K9 S! X1 Q, d. g* i# L
<><FONT color=#0000ff>printf("\n\ni = %d, next char in buffer = %c\n", i, getch());
0 B7 e' S; Z& J# greturn 0; / m6 H. v6 W8 s8 N
} 6 s! Q- H# h) {) z! F4 T: {
/ F" F: q: o' o; e* Y# h8 p# J

. v) y" s3 C; W: k0 J</FONT></P>, i+ L2 t" R/ h! E9 I
<><FONT color=#ff0000>函数名: unixtodos </FONT>
: L& J% [0 X( ]( q1 `功 能: 把日期和时间转换成DOS格式
' K+ v4 C% z" o8 G用 法: void unixtodos(long utime, struct date *dateptr,
7 B# j  l+ \' m: Dstruct time *timeptr); - Q: g! I! b& u
程序例: </P>
9 T8 l* Q7 X( m! r( B3 q<><FONT color=#0000ff>#include <STDIO.H>6 Q1 }, V  g5 L
#include <DOS.H></FONT></P>% F& b$ H9 }$ P& ^. l0 @) z
<><FONT color=#0000ff>char *month[] = {"---", "Jan", "Feb", "Mar", "Apr", "May", "Jun", ( h. n" f/ Z) A' M5 a  U
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; </FONT></P>
2 e: A7 ]; Y: z& {1 U<><FONT color=#0000ff>#define SECONDS_PER_DAY 86400L /* the number of seconds in one day */ </FONT></P>0 q- @( _* ^7 l" ~8 z" f
<><FONT color=#0000ff>struct date dt;
- i$ c$ C7 ~5 X) T5 @struct time tm; </FONT></P>% G% S" |2 |9 Z# I! S
<><FONT color=#0000ff>int main(void)
; a  z- `! U; O6 h% K! m  x, _( Z{
+ u8 z( f3 D" Y! `0 s( v4 m0 k" |unsigned long val; </FONT></P>
3 v4 U" h/ f' b( P<><FONT color=#0000ff>/* get today's date and time */ / E3 f: V' z4 g, M- I  n
getdate(&amp;dt);
5 y9 x" E8 H  j/ r3 Igettime(&amp;tm);
" A+ u7 j8 r+ T% Y9 r+ M$ S, eprintf("today is %d %s %d\n", dt.da_day, month[dt.da_mon], dt.da_year); </FONT></P>
  z/ }( J5 L* y# b  W2 H<><FONT color=#0000ff>/* convert date and time to unix format (number of seconds since Jan 1, 1970 */
) D) H9 m' M" h+ `4 i; R9 Qval = dostounix(&amp;dt, &amp;tm);
/ r2 T% j1 ~" ]& F& L: v, u/* subtract 42 days worth of seconds */
/ F. k( s8 V( d* gval -= (SECONDS_PER_DAY * 42); </FONT></P>" p- ^1 I) Y% E" c
<><FONT color=#0000ff>/* convert back to dos time and date */ $ l3 \, O: |# ?/ Y/ O
unixtodos(val, &amp;dt, &amp;tm);
. \9 V6 |6 Z8 I+ b( B$ \printf("42 days ago it was %d %s %d\n",
5 O1 y  h. m& @6 U: adt.da_day, month[dt.da_mon], dt.da_year);
+ A' E" k0 O" D( S/ ]! w' s# Lreturn 0;
  R5 K, N# X: N4 @2 N7 [( e}
% e& Z# Z" h( e; Z6 C5 l! y2 F8 u  c/ X7 a5 ^" y
) H' G/ ~* z4 n1 b0 I6 D
</FONT></P>, b0 |& l7 P' n( M
<><FONT color=#ff0000>函数名: unlink </FONT>5 @  \) a4 R4 Z8 Q/ ?7 _, f& ?- ^
功 能: 删掉一个文件
2 v# ~5 ?# p7 Q6 q' T用 法: int unlink(char *filename); + L! x2 o& ?8 Y
程序例: </P>( C% d6 v5 {- C. t4 Z
<><FONT color=#0000ff>#include <STDIO.H>
( x: W4 _# o+ R) u0 h3 Z- p; M#include <IO.H></FONT></P>
6 v3 d" n! E5 }5 M% T<P><FONT color=#0000ff>int main(void) ) F+ q3 r  g. Q7 H1 l) h$ [
{
6 `. \% H$ `+ e) SFILE *fp = fopen("junk.jnk","w");
" `  G9 B! k3 M3 i! F5 n. uint status; </FONT></P>
5 |1 H( s% Y- z8 p& s<P><FONT color=#0000ff>fprintf(fp,"junk"); </FONT></P>
7 q4 l- ^1 h0 j0 Q<P><FONT color=#0000ff>status = access("junk.jnk",0); * }& d1 h  g7 s
if (status == 0) # a$ [1 m, n' `" w4 k! d' l7 _3 q
printf("File exists\n"); ! U  d. b' O3 h% @) F; @; Z
else 0 g" m0 S6 ^0 V& y3 C
printf("File doesn't exist\n"); </FONT></P>
7 {+ Z2 g* z5 r* s& X5 _+ m<P><FONT color=#0000ff>fclose(fp); " Y) A0 f' S& H& u; J, [
unlink("junk.jnk");
3 t9 K2 C/ `# g5 B! N3 l8 I% o6 A2 g9 tstatus = access("junk.jnk",0);
2 D+ K+ k- s0 g; t; E( Q4 I3 ?3 \if (status == 0)
: ^! I, X0 P- i( cprintf("File exists\n");
  R. u- w# r' S* b" S* v3 T' }else 4 o8 z  g  Y# ]/ |( ?4 Q4 A
printf("File doesn't exist\n"); ; K* W4 [+ T; x! Y
</FONT></P>
) B, M/ }. W% |$ E+ i9 T<P><FONT color=#0000ff>return 0; + z- W/ [, t/ d% R" o6 ], H* Z
}
2 U: l2 c4 N0 m
8 z, o3 Q/ ?* R0 p, p</FONT>
5 C6 Q- G9 \$ D( A3 R</P>; |4 V; Q# H9 f" ^4 x5 W
<P><FONT color=#0000ff>函数名: unlock </FONT>
$ i  A) {" I: F4 z/ ?! z" N( U功 能: 解除文件共享锁
+ f8 R8 e& I- ]- k用 法: int unlock(int handle, long offset, long length); ; m: a, G+ S* \1 h4 [% k. Q
程序例: </P>7 L4 s) N/ \# G# L
<P><FONT color=#0000ff>#include <IO.H>
; a) w8 @- {% I; I5 E2 A. Z#include <FCNTL.H>" g' y, |) U+ y/ I$ M. C
#include <SYS\STAT.H>3 [( V1 t: i0 q+ |2 a
#include <PROCESS.H>' f# s, ^% x& e7 N4 i
#include <SHARE.H>/ X4 C" V% f) ?# {
#include <STDIO.H></FONT></P>) v; ~# C' K# x9 H" L  u4 K$ l
<P><FONT color=#0000ff>int main(void) $ x: ^! g8 S  j* ~. i
{
4 R8 Z$ V3 i6 V6 P/ Q  s* T  qint handle, status;
2 ^! [* G, o& V  I# u$ D! u8 Klong length; </FONT></P>* h: g. W3 x) H
<P><FONT color=#0000ff>handle = sopen("c:\\autoexec.bat",O_RDONLY,SH_DENYNO,S_IREAD); </FONT></P>
: b6 ^( @/ v! q* K' B<P><FONT color=#0000ff>if (handle &lt; 0) ; _4 g- v2 X# H
{ & Y- J( a' Q( h! d
printf("sopen failed\n");
% ?4 m, u" x+ t/ z* |* L4 \exit(1); + I9 g+ |; a0 o/ `, D3 y
} </FONT></P>
5 a% _3 ?1 [1 j- F+ l8 R! k+ h<P><FONT color=#0000ff>length = filelength(handle);
; r/ w. ~7 i+ mstatus = lock(handle,0L,length/2); </FONT></P>
+ Z! D% Z/ _; M0 Y+ O, j; F<P><FONT color=#0000ff>if (status == 0)
& q  W+ x1 V  |printf("lock succeeded\n"); . X% r6 y) i/ N/ {
else
% W' b: e  F. p% I, Rprintf("lock failed\n"); </FONT></P>
0 }6 `; R8 K9 T) D' J. \3 L$ a<P><FONT color=#0000ff>status = unlock(handle,0L,length/2); </FONT></P>
4 m) N$ a0 @6 r* q. |- A% l9 ]<P><FONT color=#0000ff>if (status == 0)
' u/ o6 z$ P9 gprintf("unlock succeeded\n");
; U5 C4 u  E/ Q/ G' Telse
* s8 k) \* |1 T3 @. @5 wprintf("unlock failed\n"); </FONT></P>  R. \3 K0 V$ F
<P><FONT color=#0000ff>close(handle);
" v) A+ \1 _4 q) Lreturn 0; 9 E4 J  ?( X5 F" P9 d- _- @: i* _
} </FONT></P>
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

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

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

蒙公网安备 15010502000194号

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

GMT+8, 2026-6-15 10:58 , Processed in 0.285668 second(s), 52 queries .

回顶部