QQ登录

只需要一步,快速开始

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

函数大全(u开头)

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-4 02:54 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
<><FONT color=#ff0000>函数名: ultoa </FONT>
# u$ f+ l% C; ]% i' ]5 L& C功 能: 转换一个无符号长整型数为字符串 8 k- a& X/ T) G2 |) i8 x+ m$ e
用 法: char *ultoa(unsigned long value, char *string, int radix); * G- A% p5 U* a$ Z) ^& m8 n
程序例: </P>
1 q( `$ W& P! {4 O) W: l! {<><FONT color=#0000ff>#include <STDLIB.H>+ w7 e1 Z" b1 l# P- U
#include <STDIO.H></FONT></P>' K- a  g# H& j9 R6 J% T( V
<><FONT color=#0000ff>int main( void )
3 D/ I* K- a4 n; x4 i: k" p' x{ % D: [! q! W- `" J
unsigned long lnumber = 3123456789L;
1 H: _2 d) z1 x7 H* O7 S' _0 Achar string[25]; </FONT></P>
) R9 o9 G6 ]' I0 d) a0 k6 J<><FONT color=#0000ff>ultoa(lnumber,string,10);
$ b4 \' G9 l; q  zprintf("string = %s unsigned long = %lu\n",string,lnumber); </FONT></P>2 e" X# P% Z( W2 R: \' l
<><FONT color=#0000ff>return 0;
$ i! h5 C+ z% }4 f) j# j! _6 }}
' j4 n% I% p$ W. c</FONT>
0 @4 R) t/ C* \" Y
; b/ b9 o4 X. o* I3 G: ~2 u</P>+ O. E. i/ k3 N" p4 `. M( ?
<><FONT color=#ff0000>函数名: ungetc </FONT>
1 ^% c" s+ n, [, G9 O$ j, z功 能: 把一个字符退回到输入流中   O, D, I# v! L. T+ p3 T
用 法: int ungetc(char c, FILE *stream); & V$ Y+ i+ i# j% J
程序例: </P>2 ]/ O, ]0 d# f% v) a# F; c+ ?( a5 E
<><FONT color=#0000ff>#include <STDIO.H>* @) Y) d, w# c4 U" k
#include <CTYPE.H></FONT></P>
1 P  p1 N0 z8 Z<><FONT color=#0000ff>int main( void ) 8 h2 |7 o* O: x0 P; K  l0 {; G
{ $ ]& P; H2 p+ [, `& p
int i=0;
& l% Y* \7 p" n- V' T5 p# |char ch; </FONT></P>1 R0 z* R" [/ }
<><FONT color=#0000ff>puts("Input an integer followed by a char:"); </FONT></P>$ \5 {& E6 s3 Q9 h8 U
<><FONT color=#0000ff>/* read chars until non digit or EOF */ ' I7 F# N1 A3 W  G
while((ch = getchar()) != EOF &amp;&amp; isdigit(ch))
; w9 Q1 G) O) W/ K7 }  Mi = 10 * i + ch - 48; /* convert ASCII into int value */ </FONT></P>
" p, L- }9 a4 f) h4 V' I; c9 G: Y<><FONT color=#0000ff>/* if non digit char was read, push it back into input buffer */ , u. t. i, G/ ]
if (ch != EOF) : C4 [8 O6 h# @2 [/ @
ungetc(ch, stdin); </FONT></P>$ b1 g& g$ f- X  K: l( G+ T
<><FONT color=#0000ff>printf("i = %d, next char in buffer = %c\n", i, getchar()); ! ?$ `& y* B1 q2 h5 }9 X$ s
return 0; ( p7 X, v& t: y) b( P0 x
} </FONT>
! ~% J  d/ Q/ f; _# q( e# {
# r- }! O+ Q, q$ C/ V! C' m9 a
, o# {" d# |+ t6 r8 r" g! E</P>' a' g3 ?0 t5 ?6 y
<><FONT color=#ff0000>函数名: ungetch </FONT>( e' I4 o) U1 C' L! {1 i9 V+ U. w
功 能: 把一个字符退回到键盘缓冲区中 8 f5 T4 i* P1 W2 h5 h) E
用 法: int ungetch(int c);
" p" \& v: [' Z: y- u: o- z程序例: </P>
5 t* Q* R6 ~; R- D% X: |<><FONT color=#0000ff>#include <STDIO.H>+ c# v; \) Z4 T- m+ I, T* t
#include <CTYPE.H>
, z' o+ R; t, Y- g7 J- \#include <CONIO.H></FONT></P>
& O6 }# T; W( r<><FONT color=#0000ff>int main( void ) % d8 j: ], m4 l0 q. w
{
, N" R! g% \- a) n7 g- nint i=0;
9 F; [. ~( d" w+ W9 z8 uchar ch; </FONT></P>
5 X4 Y4 }  A1 U* J, `) ~<><FONT color=#0000ff>puts("Input an integer followed by a char:"); </FONT></P>
+ D' G+ f, H3 `/ S) G<><FONT color=#0000ff>/* read chars until non digit or EOF */
1 z$ ~2 c6 J7 ?: q! }1 i. r; zwhile((ch = getche()) != EOF &amp;&amp; isdigit(ch)) 1 d* R: u& m4 Q4 \9 M" O+ g
i = 10 * i + ch - 48; /* convert ASCII into int value */ </FONT></P>
* N3 A- {; q" S3 x<><FONT color=#0000ff>/* if non digit char was read, push it back into input buffer */   D; I8 _$ a" d* ?
if (ch != EOF) . I4 u6 `& a/ s
ungetch(ch); </FONT></P>
1 O, t# C. e1 A( a+ r" m& q* s+ j<><FONT color=#0000ff>printf("\n\ni = %d, next char in buffer = %c\n", i, getch());
$ w1 U% Q3 C" e& w5 y6 D/ Jreturn 0; $ C, ~* [" o* R2 M) a5 x
} 4 X! u' v5 ?) o6 Z/ A) E

$ q+ h  ?7 W( w0 w8 W* {* `, e
/ [9 |  P/ T; [9 Z0 a" f7 {  a</FONT></P>" h6 [% g+ E" O, s! k) J- m+ F6 t
<><FONT color=#ff0000>函数名: unixtodos </FONT>
* c0 ^, }0 L* K, Y功 能: 把日期和时间转换成DOS格式
+ ]* d# Z' T8 Y! k% X用 法: void unixtodos(long utime, struct date *dateptr, 2 _7 y  ^$ q6 {) A; t8 d4 G
struct time *timeptr); 2 T6 S7 l# E3 w
程序例: </P>$ R! N( @) G* m
<><FONT color=#0000ff>#include <STDIO.H>
6 a; M% q1 N  {1 p+ e* p#include <DOS.H></FONT></P>
: }% C: U& n% z1 U: Z<><FONT color=#0000ff>char *month[] = {"---", "Jan", "Feb", "Mar", "Apr", "May", "Jun", 1 J  m. n2 Z' M: w5 [( X
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; </FONT></P>
  K. m! f" k- n6 U<><FONT color=#0000ff>#define SECONDS_PER_DAY 86400L /* the number of seconds in one day */ </FONT></P>0 n/ e! o! S! x
<><FONT color=#0000ff>struct date dt; ) k0 Z# m( K! v3 ?6 X: l
struct time tm; </FONT></P>
9 ?, v, P+ i( G3 x1 ~8 X( W<><FONT color=#0000ff>int main(void) 4 k  b7 ]: H5 q, g2 H, @7 s4 G
{ 5 K1 r% G6 g5 ~$ b) z
unsigned long val; </FONT></P>
) l5 ]$ n$ M2 ?9 d<><FONT color=#0000ff>/* get today's date and time */ 8 q5 F" X( f0 y: ~# ]) g# |! ?
getdate(&amp;dt); + r$ ]9 b  D- Y: u5 x% v# p
gettime(&amp;tm);
' K" l. b( x' B& \0 E/ E  hprintf("today is %d %s %d\n", dt.da_day, month[dt.da_mon], dt.da_year); </FONT></P>/ T: A( _! J3 U6 o! z
<><FONT color=#0000ff>/* convert date and time to unix format (number of seconds since Jan 1, 1970 */ ! ~( {. D( b: U: u$ r* N, K
val = dostounix(&amp;dt, &amp;tm); 4 J+ X$ `/ \6 T6 Y) e; y
/* subtract 42 days worth of seconds */ / P4 m3 g" Y' \
val -= (SECONDS_PER_DAY * 42); </FONT></P>
- o/ }! }! F( F" E<><FONT color=#0000ff>/* convert back to dos time and date */
: N& s4 U! ]( k" e( N. D' Uunixtodos(val, &amp;dt, &amp;tm); " m5 s$ W' z( ], G/ J" X2 C
printf("42 days ago it was %d %s %d\n", ( a* a/ X4 g; }2 p
dt.da_day, month[dt.da_mon], dt.da_year); % Y/ j" t; E; c' W3 |, s; L  B
return 0; 4 u$ [! I& t8 y+ j) e
}
0 H7 w' I1 h$ Z2 F* Z) \( E2 \* s
. X, o$ a5 T- _0 q5 J" H% B: y0 F( ?
</FONT></P>! p* m5 V! o* D
<><FONT color=#ff0000>函数名: unlink </FONT>4 I5 W1 ?" x* @) @% u3 k- N
功 能: 删掉一个文件
# K" M( l/ n, v% H用 法: int unlink(char *filename);
" C. f9 M& ?) |& @; M. z3 _4 `程序例: </P>- ~3 `7 Q8 [( e: e' P4 ~) x" M
<><FONT color=#0000ff>#include <STDIO.H>
# Z8 E0 [4 N# V9 p6 q#include <IO.H></FONT></P>
4 }2 X1 y- P( y/ {6 \& w% Z8 o# P% {' B<P><FONT color=#0000ff>int main(void)
4 N" m; p+ @3 Q, p$ ]{
/ {" R: ]5 u$ ^( D: X! x/ \! qFILE *fp = fopen("junk.jnk","w"); 6 i0 i5 C. B6 C( B" b3 B
int status; </FONT></P>
& E# u3 m2 M$ _/ K% F) g; P; Y. I7 J<P><FONT color=#0000ff>fprintf(fp,"junk"); </FONT></P>, g* Z; L+ w) v( v
<P><FONT color=#0000ff>status = access("junk.jnk",0);
0 `& |" ]' {7 l0 T/ |2 Bif (status == 0)
$ d: [3 U4 U! U( fprintf("File exists\n");
# ]0 ^+ p1 l& `* ~else 3 }0 u" m4 H1 ]% _: w
printf("File doesn't exist\n"); </FONT></P>
8 I) {9 X, w! z1 D8 c# O: @4 K<P><FONT color=#0000ff>fclose(fp);
; y) H: d, B  w1 ^  ]- O* T1 hunlink("junk.jnk");
* ~- L, W8 S/ Z0 g; G  s" tstatus = access("junk.jnk",0); $ l/ X- i7 R3 \; F/ K! ?
if (status == 0)
' ~' e5 q( T+ Yprintf("File exists\n"); ) D% R( x. H) n1 i* Q- g/ X- f
else
* V1 @* Q) m; V  Jprintf("File doesn't exist\n");   h9 o$ S8 i" S) G! C
</FONT></P>
$ P' U/ w' }% Y6 P& E* Y9 `<P><FONT color=#0000ff>return 0; ! [( H- Z1 G! R2 a1 |. d# \
}
6 x7 f3 n$ l2 J8 }* c$ w
% L1 }/ D* [% r' c5 I</FONT>
7 w$ h* D; q2 C  m3 E</P>
; Q5 l6 W- P4 e" K: x4 g( u9 G<P><FONT color=#0000ff>函数名: unlock </FONT>
( R; `1 M. b1 |) }功 能: 解除文件共享锁
* w: S4 }' p# z/ u* f) k用 法: int unlock(int handle, long offset, long length); 8 X+ I; c; {( V1 R
程序例: </P>4 A4 d) p1 u6 f: B6 s) ?6 G
<P><FONT color=#0000ff>#include <IO.H>
& Y6 a+ P* K  h0 J$ b6 S' F#include <FCNTL.H>: \/ z& Q/ Q5 E' u2 u
#include <SYS\STAT.H>
. g) t& E' o, R8 }4 @# @#include <PROCESS.H>. d( w. ~( l9 q, V5 t( ^$ T
#include <SHARE.H>
3 r; I5 |6 b, |' ]; s#include <STDIO.H></FONT></P>( x+ f" e) l& }% L
<P><FONT color=#0000ff>int main(void)
8 T$ t0 H$ ^  a" |$ _; x9 C{
/ l4 Q+ a2 e4 a7 Q8 t* Pint handle, status; , F7 L' Y0 X- v: K3 m( w' k  M( o
long length; </FONT></P>
8 i+ ?, ~  V9 T* C* t8 C! b<P><FONT color=#0000ff>handle = sopen("c:\\autoexec.bat",O_RDONLY,SH_DENYNO,S_IREAD); </FONT></P>+ D( V: r8 Y; Q0 i! K
<P><FONT color=#0000ff>if (handle &lt; 0) # c  T: H& B6 o, M
{
' `: }9 @; K' h. kprintf("sopen failed\n");
0 D1 Y' \' }  c9 dexit(1);
( I, [( A: @9 w2 |! ~0 Y) {} </FONT></P>9 s6 a; c8 g; c  u5 p2 V2 @
<P><FONT color=#0000ff>length = filelength(handle);
% u' E/ |% r8 s/ i1 dstatus = lock(handle,0L,length/2); </FONT></P>& l! c- H6 [# b
<P><FONT color=#0000ff>if (status == 0)
9 Q+ S) ]  ?, {printf("lock succeeded\n"); * |" E( i. M! q, F' {5 Z3 p
else
/ k, c* X- b, y9 e5 Z! g2 ]/ Lprintf("lock failed\n"); </FONT></P>2 l, R  j9 i* j# x$ S* l) }" R
<P><FONT color=#0000ff>status = unlock(handle,0L,length/2); </FONT></P>" Z9 z5 A, i; P( `. ]5 V, U$ U7 s
<P><FONT color=#0000ff>if (status == 0) 2 b& y6 Z) C+ n, M2 C: }9 g% H( Q
printf("unlock succeeded\n"); % I9 j5 a7 d( K" w$ c
else
# X5 E2 U3 r- j# X- ?printf("unlock failed\n"); </FONT></P>' [8 e, T" ]; w8 V. a
<P><FONT color=#0000ff>close(handle); * k" b( t  v3 I  j8 L
return 0; & k0 |  ~' F1 [2 ?
} </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-7-21 02:45 , Processed in 0.351960 second(s), 52 queries .

回顶部