QQ登录

只需要一步,快速开始

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

函数大全(u开头)

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-4 02:54 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
<><FONT color=#ff0000>函数名: ultoa </FONT>
- ^6 a# ~9 ?& Y功 能: 转换一个无符号长整型数为字符串
7 k# T; Q# P6 n% k) u( ?0 [9 p* b用 法: char *ultoa(unsigned long value, char *string, int radix); ) Y3 O6 q3 Q* W( J
程序例: </P>
$ K% i3 h7 O1 E( [1 F5 o" d<><FONT color=#0000ff>#include <STDLIB.H>: u' j& ?0 R6 ?9 j2 L# Q
#include <STDIO.H></FONT></P>
) Y$ F" s0 K5 H" r5 R<><FONT color=#0000ff>int main( void )
4 H' i2 r$ E8 E  q$ ?8 W, D{
' Z. W  n; J" ~9 l$ nunsigned long lnumber = 3123456789L;
! j' p* V1 p5 ?  M1 H% N' Zchar string[25]; </FONT></P>
5 f% d! v, C! Y; Q, v<><FONT color=#0000ff>ultoa(lnumber,string,10);
, p3 X2 m! Z1 ]+ [/ m0 w+ bprintf("string = %s unsigned long = %lu\n",string,lnumber); </FONT></P># ~, P$ k: Q& c* k$ ~0 E& d
<><FONT color=#0000ff>return 0;
; e& m  h/ e3 |& @& n& n7 l1 ]: ]} 2 S4 [% n6 q" \" m$ u; s! }5 q
</FONT>4 e  X; `# c# n* n, d  S: m2 ]( }
! p: ?2 E+ y. o) X( `
</P>
* v. U9 A% K1 x& i<><FONT color=#ff0000>函数名: ungetc </FONT>6 ?0 ~; J" P4 Y5 q, ^) O; b
功 能: 把一个字符退回到输入流中 - @/ x; A7 |/ J# k  R0 E- _/ z
用 法: int ungetc(char c, FILE *stream); / m5 U7 D4 F: e. b" E9 c; h
程序例: </P>
& V1 Q' t; k8 m4 s6 |6 O0 _$ s, L- M<><FONT color=#0000ff>#include <STDIO.H>
6 Q6 L7 D! Y! N% y/ j#include <CTYPE.H></FONT></P>
' d# \2 h) [* m<><FONT color=#0000ff>int main( void ) ) I) B7 `# `; P3 o6 H! e: P
{
; g4 D0 j7 b9 @) u3 q( |int i=0;
& Y$ e" a* e# G8 A9 N4 Mchar ch; </FONT></P>) k/ Z6 c3 H8 I
<><FONT color=#0000ff>puts("Input an integer followed by a char:"); </FONT></P>0 q, w5 ]" U' o6 t1 Q
<><FONT color=#0000ff>/* read chars until non digit or EOF */ % }' q0 M* \* Q; d. |. [
while((ch = getchar()) != EOF &amp;&amp; isdigit(ch))
- I# B8 l# z/ |6 Ii = 10 * i + ch - 48; /* convert ASCII into int value */ </FONT></P>/ }. C. D) B/ b& K$ Z4 {( {
<><FONT color=#0000ff>/* if non digit char was read, push it back into input buffer */
% [7 Y+ C9 w6 F3 H7 lif (ch != EOF)
9 E# o( g* b0 C/ p$ b1 Y  y( Cungetc(ch, stdin); </FONT></P>
3 g5 A- z7 j% {( G7 l3 L: y) C<><FONT color=#0000ff>printf("i = %d, next char in buffer = %c\n", i, getchar());
6 N$ o& Y7 o5 H( A; t" oreturn 0;
1 i- S1 i+ B8 V* F" \, ^} </FONT>
! X& P  Y* g$ s5 J% q2 h: U, G
" b/ l8 b, F) Z: f: g) U
3 l2 e$ A2 I( o  Y1 A6 M</P>
0 g. y; d2 l- C( I. k<><FONT color=#ff0000>函数名: ungetch </FONT>: J$ P/ a- P4 T+ {7 k/ k/ M
功 能: 把一个字符退回到键盘缓冲区中 . T% @- b, A1 D6 x9 D
用 法: int ungetch(int c);
3 H8 S; @$ j; a程序例: </P>3 I  _3 o, g1 _! |# r
<><FONT color=#0000ff>#include <STDIO.H>
; a* g; V! X: T% ~7 l#include <CTYPE.H>
8 F% M3 l9 {+ z# w% q- j#include <CONIO.H></FONT></P>
; e$ p- ]% J% e) g; ]  S<><FONT color=#0000ff>int main( void ) + I2 M6 s( M0 i. T" `
{
4 o" N3 g$ @0 X1 @( Oint i=0;
$ a4 y  {9 Z" f: Z' B. Schar ch; </FONT></P>) U2 n9 `! H! x
<><FONT color=#0000ff>puts("Input an integer followed by a char:"); </FONT></P>
5 |3 k, \* h( t7 w' U<><FONT color=#0000ff>/* read chars until non digit or EOF */ % M. s- n) m5 k& P( J
while((ch = getche()) != EOF &amp;&amp; isdigit(ch)) + x* u5 W1 u4 c
i = 10 * i + ch - 48; /* convert ASCII into int value */ </FONT></P>; J' M- Z" G" C. g) N& v9 }' ]# j
<><FONT color=#0000ff>/* if non digit char was read, push it back into input buffer */ ) H2 c. }% n- V" K* Q
if (ch != EOF) # z' C0 D  b) N1 n+ ?3 o: W
ungetch(ch); </FONT></P>" n; g4 p% m8 S" }
<><FONT color=#0000ff>printf("\n\ni = %d, next char in buffer = %c\n", i, getch());
* Z. H& u0 l" z0 m  f9 ureturn 0; ; i0 C% g) H* w/ R
}
( D1 G2 F( H1 ?8 E% l- o3 x; C$ d' M& `  U: ^
/ \* ~9 K. E# C$ U9 _
</FONT></P>0 i5 I* i/ T2 S6 Q
<><FONT color=#ff0000>函数名: unixtodos </FONT>2 i3 G6 T  [' y) L1 n
功 能: 把日期和时间转换成DOS格式
7 o, T9 {1 G. Z* T用 法: void unixtodos(long utime, struct date *dateptr,
" S$ O- w" A2 O( Vstruct time *timeptr); % K3 ?0 ~1 D6 m5 e
程序例: </P>1 c1 [! H: ~! v6 g. E4 R( v, y7 ~4 w. B
<><FONT color=#0000ff>#include <STDIO.H>
* @$ u9 X- Z8 g. D; W# z: r#include <DOS.H></FONT></P>
9 k6 c: \! D( C' b<><FONT color=#0000ff>char *month[] = {"---", "Jan", "Feb", "Mar", "Apr", "May", "Jun",
/ }" f$ i1 _0 r- ~, C"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; </FONT></P>
0 Y1 \" N: i( `% N1 ?1 m: C<><FONT color=#0000ff>#define SECONDS_PER_DAY 86400L /* the number of seconds in one day */ </FONT></P>
0 e# v+ ?; I7 B$ G( Z8 L- Q/ n# f<><FONT color=#0000ff>struct date dt; 4 _& y! X. E+ T$ a
struct time tm; </FONT></P>( l5 N. B' Z! |) |( c+ v- |; t
<><FONT color=#0000ff>int main(void)
! F( @$ y& ?0 C4 h{ , v7 [0 h2 @6 B6 ~& p( E" b+ p
unsigned long val; </FONT></P>5 y! j7 x% y3 S4 C; c7 b! q' `
<><FONT color=#0000ff>/* get today's date and time */ 7 e# k* e: f+ k
getdate(&amp;dt); , ?- |, K7 P# J6 l" _0 T3 q9 q
gettime(&amp;tm);
: n0 c( m+ h6 Y  i/ yprintf("today is %d %s %d\n", dt.da_day, month[dt.da_mon], dt.da_year); </FONT></P>0 d& n- z4 v3 |6 G* W! R! ?
<><FONT color=#0000ff>/* convert date and time to unix format (number of seconds since Jan 1, 1970 */
" {0 p& V: j- R8 S" n8 oval = dostounix(&amp;dt, &amp;tm); 9 u6 V) H; g; \: p' }6 V) {
/* subtract 42 days worth of seconds */ 0 n) c  ~) w7 k0 z
val -= (SECONDS_PER_DAY * 42); </FONT></P>& E; X8 h- u8 \* M3 F% Y
<><FONT color=#0000ff>/* convert back to dos time and date */
3 P+ p1 r, u- N* Hunixtodos(val, &amp;dt, &amp;tm); ; P+ c9 Q/ d7 n2 P5 J' J# i/ p0 f
printf("42 days ago it was %d %s %d\n", / X  q+ k* }0 e% n4 A' u
dt.da_day, month[dt.da_mon], dt.da_year);
# U* s* t# S$ P2 M' @3 Nreturn 0; + X7 s/ L& {4 q, E5 N4 ^
}
! |! g+ X* h5 A9 {& |/ v( ^" ~  q4 L: E; b7 U

" Q, \; g' m, w</FONT></P>7 @, E* K3 [( v+ B$ d" Y) M* }( [' ]
<><FONT color=#ff0000>函数名: unlink </FONT>
( w( m8 k7 r9 x+ |5 D4 o功 能: 删掉一个文件 3 w# C: M6 I! g4 y+ T. u0 t
用 法: int unlink(char *filename); 8 Q+ R: e* z! y: `. {
程序例: </P>
3 i9 J# ]7 J. c/ w  h4 F* L<><FONT color=#0000ff>#include <STDIO.H>% r  X. w: b) B! A9 u: P3 u
#include <IO.H></FONT></P>
4 c$ f  [! }9 ^) |# I6 P<P><FONT color=#0000ff>int main(void) $ e/ {0 U, j% i
{ . [0 ^2 ]2 c: o: Z" q! C
FILE *fp = fopen("junk.jnk","w"); - [& E% [6 b' F( @) T9 K8 `3 t2 C
int status; </FONT></P>
9 g4 ^1 m! X1 ~7 k<P><FONT color=#0000ff>fprintf(fp,"junk"); </FONT></P>) N# A7 h8 r# k6 \( k
<P><FONT color=#0000ff>status = access("junk.jnk",0); - q  b1 e' }7 _
if (status == 0)
2 h  {* A: A2 u; }# G# Zprintf("File exists\n"); . G6 M4 a" v, {/ Y* a, a
else , _# G* \) Y5 d8 x3 v
printf("File doesn't exist\n"); </FONT></P>2 Y: q) Y$ j6 l9 l
<P><FONT color=#0000ff>fclose(fp); 0 H6 `1 z6 x' k1 L5 P1 {. j/ h
unlink("junk.jnk");
4 l* U% i- L' ~status = access("junk.jnk",0);
( I1 X+ Q" N: C8 dif (status == 0) ( \2 z* T8 f, J$ y9 I- b
printf("File exists\n"); $ i! |! g! }. t& g
else 6 `! m' I# v, k' u& {6 ~
printf("File doesn't exist\n");
' b9 m/ Z. u' Z! I* R: E+ L0 \</FONT></P>, N8 ^* h" D: c7 }' S: }/ f5 X$ H
<P><FONT color=#0000ff>return 0;
! G! w; s; o8 t  V0 z}   }7 j2 V  v% y7 b' S( B
% l6 |! O" N: i/ D
</FONT>; ^$ W, d% g+ M5 ?! ]/ A- f
</P>  D1 L% H; d0 p
<P><FONT color=#0000ff>函数名: unlock </FONT>7 x) H. T' y  }
功 能: 解除文件共享锁 # }- ~# f7 I1 B1 ]7 z! c
用 法: int unlock(int handle, long offset, long length); % f3 _1 W+ B. [( ?; c8 C
程序例: </P>
6 \3 x* l' ~# c* |<P><FONT color=#0000ff>#include <IO.H>
  L& P6 P% Z/ F' f) z( T" @- _#include <FCNTL.H>
6 C. _' {3 u9 ~& P* h#include <SYS\STAT.H>
' v! I0 G% z7 c9 h3 W#include <PROCESS.H>
) h, a. r( S. \7 p$ `8 v, W: d' \. R9 m#include <SHARE.H>; Y: P" l* E6 i5 U" m) F
#include <STDIO.H></FONT></P>
$ f0 X6 P  c# d+ C<P><FONT color=#0000ff>int main(void) 5 M) Q6 h. D% o
{
- z0 q( Q* f  C0 q7 hint handle, status; * u2 G: c, t$ S' g
long length; </FONT></P>( m) g1 S9 O- E% A6 K, f! S4 H, g
<P><FONT color=#0000ff>handle = sopen("c:\\autoexec.bat",O_RDONLY,SH_DENYNO,S_IREAD); </FONT></P>; c: T/ b5 u5 ~" p2 k3 E& T
<P><FONT color=#0000ff>if (handle &lt; 0)
( J6 s5 J1 Q+ X{ ) A8 y3 G6 F# h) X
printf("sopen failed\n"); ) t0 \& t1 L5 _
exit(1); 8 k& H0 X( ]: r. P. n8 ^
} </FONT></P>/ ?# r" G5 ?5 Q. Z  q
<P><FONT color=#0000ff>length = filelength(handle); ' o' U6 i# d. W- |& _
status = lock(handle,0L,length/2); </FONT></P>: m9 ^3 w6 n- n7 t" U7 a
<P><FONT color=#0000ff>if (status == 0) $ l. O, C% |- B* e
printf("lock succeeded\n"); 7 Y7 v4 h# o0 n) K7 o6 M
else 3 O, }4 `$ |5 m  K. ~1 ]
printf("lock failed\n"); </FONT></P>
/ Y& W* n% V9 K9 s( v<P><FONT color=#0000ff>status = unlock(handle,0L,length/2); </FONT></P>
& R; W) r$ s9 B! F8 s: y! N9 |<P><FONT color=#0000ff>if (status == 0) " K" W2 R+ K. V! w8 j5 R! J
printf("unlock succeeded\n");
- U# B5 k" z7 @; R4 N. Telse % i: S& m4 j: ^. R7 Z$ p5 P: a
printf("unlock failed\n"); </FONT></P>
1 B* V- S( N1 g. ^4 G<P><FONT color=#0000ff>close(handle); # d" A+ q; ^+ q1 Q0 Z" s+ Q/ @) ~3 E( X
return 0; 9 g* r* T- u; v) f7 J1 h; o9 A! S; t5 n
} </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-10-24 11:14 , Processed in 0.453984 second(s), 51 queries .

回顶部