QQ登录

只需要一步,快速开始

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

函数大全(u开头)

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-4 02:54 |只看该作者 |正序浏览
|招呼Ta 关注Ta
<><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 &amp;&amp; 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 &amp;&amp; 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(&amp;dt); 7 L, i$ N: ^* h) X$ H
gettime(&amp;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(&amp;dt, &amp;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, &amp;dt, &amp;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 &lt; 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
转播转播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-4-20 11:44 , Processed in 0.432687 second(s), 52 queries .

回顶部