QQ登录

只需要一步,快速开始

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

函数大全(u开头)

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-4 02:54 |只看该作者 |正序浏览
|招呼Ta 关注Ta
<><FONT color=#ff0000>函数名: ultoa </FONT>
' m: ^6 p, i) m$ I4 C3 Y功 能: 转换一个无符号长整型数为字符串 . e9 ]/ Z( g- T% Q
用 法: char *ultoa(unsigned long value, char *string, int radix); 7 X' E6 @: Y# Q9 t: F# d
程序例: </P>1 E$ X2 y5 Y7 L, ]0 s! l$ p0 z
<><FONT color=#0000ff>#include <STDLIB.H>
3 @" |; i3 y2 G) M8 O  B1 v#include <STDIO.H></FONT></P>
( t: Z  A; Q! T1 o, ?<><FONT color=#0000ff>int main( void )
  S- I( C# M- g9 A' G0 T$ X* a{
6 ]  A- K' {; p3 Funsigned long lnumber = 3123456789L;
% V3 M* [5 `& j3 j2 D2 v- Y) G, |char string[25]; </FONT></P>9 w7 }6 y( J" p- J; B; M- i
<><FONT color=#0000ff>ultoa(lnumber,string,10);
! K: n& R5 t5 L$ Q8 M3 Q; w! dprintf("string = %s unsigned long = %lu\n",string,lnumber); </FONT></P>9 ?; `& Y, {9 E* s$ M2 h1 j
<><FONT color=#0000ff>return 0;
- i  G% t, `% }} 9 F$ E  _( `7 x6 R* t
</FONT>
9 X8 _  {# ?. ]& t4 B' f5 ~0 o6 `8 Z4 S/ l7 D1 Q1 f% t
</P>
8 b# m  t3 Q8 R% n<><FONT color=#ff0000>函数名: ungetc </FONT>- ]/ R! |! C% p( T. F. i9 c
功 能: 把一个字符退回到输入流中 9 S. l/ R3 R% J  ~: {) b% j
用 法: int ungetc(char c, FILE *stream); & }# W/ g- ~1 f' w2 A
程序例: </P>
$ G) o: I% v) N$ I1 p5 a9 E6 @$ k0 d. h<><FONT color=#0000ff>#include <STDIO.H>2 S7 s$ J0 t* Q/ t3 \3 ~
#include <CTYPE.H></FONT></P>, g% O+ P9 I7 h0 t
<><FONT color=#0000ff>int main( void ) 8 O$ z, z& U0 `  D& b
{ 1 U8 ?3 ?; @- W5 a1 I8 v
int i=0;
; |* H& a% Z' ^+ zchar ch; </FONT></P>
; z! v, d+ v( C' A* T<><FONT color=#0000ff>puts("Input an integer followed by a char:"); </FONT></P>
) V$ z  ?( @7 X<><FONT color=#0000ff>/* read chars until non digit or EOF */
2 r% C' p/ v' [while((ch = getchar()) != EOF &amp;&amp; isdigit(ch)) ( d/ \* ]; u9 Y0 e; B0 `
i = 10 * i + ch - 48; /* convert ASCII into int value */ </FONT></P>
+ [% |  ~& y( B" e. u3 w; D% K& L<><FONT color=#0000ff>/* if non digit char was read, push it back into input buffer */ , [/ ~9 |; _7 r; J  ?" K: o1 P# [
if (ch != EOF) 8 y$ b) j6 {% p7 {9 U
ungetc(ch, stdin); </FONT></P>
, m  s( y% V2 Y4 A5 }<><FONT color=#0000ff>printf("i = %d, next char in buffer = %c\n", i, getchar());
$ P3 Z3 G$ y5 \+ oreturn 0; 1 V# K' J# m" b2 ]# X' w
} </FONT>
& D$ T3 J; n" y+ r9 M& f& A6 D$ R& i2 r* T# r
3 H% s" u1 w+ m2 m6 J
</P>4 @' d. t! C* O$ @1 Y  _- n8 b- |
<><FONT color=#ff0000>函数名: ungetch </FONT>
4 V. i2 r( @' D+ j- H3 ]功 能: 把一个字符退回到键盘缓冲区中
, U/ C4 y# A1 x用 法: int ungetch(int c);
, C  s* F2 ~1 P7 N程序例: </P>' Z& ~. n4 R6 _7 `6 p1 W
<><FONT color=#0000ff>#include <STDIO.H>
/ D2 v9 Q4 g+ {  w. B) v" ]4 R  [2 V# p& d#include <CTYPE.H>$ R; w' w" z% ^0 b4 w) |0 o- k
#include <CONIO.H></FONT></P>
" u0 S9 P6 A0 E9 d3 q( T& ~<><FONT color=#0000ff>int main( void ) 1 p8 K. y6 x" g8 T# i7 ?1 Y
{
6 E# @4 b* T% ^  m9 T+ ]9 W8 _int i=0; 6 _* x0 Q; v* `8 p! |8 G2 L1 l
char ch; </FONT></P>$ a. v% ^7 @/ y* [: `
<><FONT color=#0000ff>puts("Input an integer followed by a char:"); </FONT></P>
, \2 W- O% X+ ?% c6 `& F/ a. e<><FONT color=#0000ff>/* read chars until non digit or EOF */
4 A4 i8 H, U1 N2 f& pwhile((ch = getche()) != EOF &amp;&amp; isdigit(ch))
4 B6 _* H8 x1 ^i = 10 * i + ch - 48; /* convert ASCII into int value */ </FONT></P>
$ W& p1 E) R! d/ O<><FONT color=#0000ff>/* if non digit char was read, push it back into input buffer */ . n& j  d/ `9 I2 T$ W% I0 Z
if (ch != EOF) 2 |! p. ?- F0 p) I
ungetch(ch); </FONT></P>; W. P* u4 h/ N# d& b% I
<><FONT color=#0000ff>printf("\n\ni = %d, next char in buffer = %c\n", i, getch());
2 k3 H$ `2 i0 q- f+ o$ e: ereturn 0;
; E$ r( r% T' h# w$ @5 q}
2 c: [0 Y* {+ n" W4 w0 Z0 \2 o) ^% W' P3 v0 x

  Y* ^8 G- H. L0 i1 P/ q</FONT></P>
' b, T' {1 [  c6 h; A' X<><FONT color=#ff0000>函数名: unixtodos </FONT>
/ `7 ?2 z/ U; K, \7 M0 H- V* o( t2 z功 能: 把日期和时间转换成DOS格式
! t, V! M7 e. _, w0 s用 法: void unixtodos(long utime, struct date *dateptr, 4 s- c0 q  K7 Q/ C' T8 H1 L
struct time *timeptr); 9 j1 k3 z* e" J- U, ]( O" Q# f
程序例: </P>
5 i* T% ^; U2 q" s9 g- ^  a8 G7 R<><FONT color=#0000ff>#include <STDIO.H>
3 Q2 l- W$ e' ]- `#include <DOS.H></FONT></P>
2 }9 ]7 S5 [/ P) i9 o<><FONT color=#0000ff>char *month[] = {"---", "Jan", "Feb", "Mar", "Apr", "May", "Jun", ' J! g, `7 h9 A) t8 M( ^" m
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; </FONT></P>
* I) e( Y' Z& t( F$ \5 e: }7 y<><FONT color=#0000ff>#define SECONDS_PER_DAY 86400L /* the number of seconds in one day */ </FONT></P>
: o5 s9 G. k1 C- q1 I<><FONT color=#0000ff>struct date dt;
$ L% B5 ]6 _  u7 Rstruct time tm; </FONT></P>
1 c1 a! t3 k# w- `$ J4 }7 G- @: D<><FONT color=#0000ff>int main(void)
. q# _  N. V! }3 K% E7 I; H{ ; O+ G; a4 [8 @- M1 K% L- m
unsigned long val; </FONT></P>
! e) F% D- u1 V0 F0 n* _<><FONT color=#0000ff>/* get today's date and time */
7 [1 j% m" ]8 T6 igetdate(&amp;dt); $ t7 Q7 H  g: _" x( @, t, z
gettime(&amp;tm);
* O9 F8 w; ]$ Y* z- tprintf("today is %d %s %d\n", dt.da_day, month[dt.da_mon], dt.da_year); </FONT></P>
6 ^( p) ^* I# R0 l<><FONT color=#0000ff>/* convert date and time to unix format (number of seconds since Jan 1, 1970 */ , P, ]  p3 ?  O, w7 d
val = dostounix(&amp;dt, &amp;tm); + k5 s3 k8 O0 a1 q
/* subtract 42 days worth of seconds */ ! X, \5 Y; G1 X+ S1 j: l# U- y
val -= (SECONDS_PER_DAY * 42); </FONT></P>
; w" _  |2 {! P7 L. J7 L* ?7 v# S  [<><FONT color=#0000ff>/* convert back to dos time and date */
) h4 _9 j. c8 x+ sunixtodos(val, &amp;dt, &amp;tm); + R4 B9 ?0 w( V- N! B
printf("42 days ago it was %d %s %d\n",
) ]( J6 x2 H- F* n7 S+ _$ i1 S  h# C; Idt.da_day, month[dt.da_mon], dt.da_year); 4 k4 z0 s8 t) s" O  X# p
return 0; : |$ e2 z; R" |" b4 r; W' }
} 9 V/ m0 y# l) A- `- v+ C

! I4 N. p1 M  L# z$ S# ?! j! Y! r5 |- t' G
</FONT></P>
6 J1 G) X; |8 I$ d6 W<><FONT color=#ff0000>函数名: unlink </FONT>6 W! G: ]& I3 E0 A; }1 h
功 能: 删掉一个文件 - [. D! R+ g+ \; i9 r# d
用 法: int unlink(char *filename);
* O; v) c. i5 m9 x, J程序例: </P>
: K: D0 p% Z$ X<><FONT color=#0000ff>#include <STDIO.H>
$ U# E, W2 Z# y& f2 ?3 C( l. u#include <IO.H></FONT></P>
1 p/ Z& B1 l+ W# m<P><FONT color=#0000ff>int main(void) ; }. Y8 J; N" l8 _2 m0 p0 D/ W0 b
{ 3 y9 u: a. G* |' W9 J+ @
FILE *fp = fopen("junk.jnk","w");
3 v  h6 w0 P  pint status; </FONT></P>8 f% y& a( y2 D) k4 T
<P><FONT color=#0000ff>fprintf(fp,"junk"); </FONT></P>* E' f& W3 o) G1 Z
<P><FONT color=#0000ff>status = access("junk.jnk",0); ' V2 a- S% ~$ s/ @
if (status == 0) ! M) t& m4 c. X! \: H3 h
printf("File exists\n");
; g% b  a1 p4 Gelse 1 {( D& L1 P/ D0 C% i8 }# K
printf("File doesn't exist\n"); </FONT></P>
( T+ A/ W# T& M8 {1 y7 [! S<P><FONT color=#0000ff>fclose(fp);
7 \/ M) b, l, s, q5 T) Vunlink("junk.jnk");
0 a3 r' ]: E: h. E  ]* g- W0 j7 nstatus = access("junk.jnk",0); / A  w% y2 Y8 ?! J# L3 P7 H
if (status == 0)
  N# A: {+ c+ j* a7 V) I9 F5 r) Kprintf("File exists\n"); % u2 ?! {) ^# A" i. F+ c* A/ M3 g
else
" f* h2 M* s) n  Y' n7 Uprintf("File doesn't exist\n");
, T  y- P' Y$ a</FONT></P>( a( |1 V: n2 W# n* x, }
<P><FONT color=#0000ff>return 0;
, T; z4 ?5 W4 B( ?! e4 X}
1 |) b! M7 e2 y0 i% e; }# i% h, Y# `
</FONT>/ @6 N" d$ D- E7 j$ X
</P>
" S0 _, ~6 k! r' H<P><FONT color=#0000ff>函数名: unlock </FONT>! H+ J/ c  E. X6 U' s
功 能: 解除文件共享锁
, s1 r' P7 `4 H5 `% F  e用 法: int unlock(int handle, long offset, long length); . U; I1 N; }3 F4 @, q$ t6 _
程序例: </P>
+ |+ b1 F7 v& b$ f! `6 d/ n<P><FONT color=#0000ff>#include <IO.H>9 e$ f) G- J( _: K! w. v
#include <FCNTL.H>9 [, m) d- ~- g2 \4 W% O2 r0 E
#include <SYS\STAT.H>
4 Q2 T& f! @' k0 Q5 e  a#include <PROCESS.H>  G' x  C( D; I* ^. }. S# n! x
#include <SHARE.H>
, \# k3 e! k! N$ c) b#include <STDIO.H></FONT></P>
0 E# ~- k8 g" M: ?<P><FONT color=#0000ff>int main(void) 2 e4 L$ a' o# A+ u
{
( m1 z# [4 ~1 X. @int handle, status; ; O  R. @% _% p6 @) x3 r
long length; </FONT></P>! o+ \8 `, Y  I7 H0 a: p+ M
<P><FONT color=#0000ff>handle = sopen("c:\\autoexec.bat",O_RDONLY,SH_DENYNO,S_IREAD); </FONT></P>
$ Y) Y  c& x/ U8 E3 h- t5 C<P><FONT color=#0000ff>if (handle &lt; 0)
3 }% ]+ g+ s3 N, L( f/ _{
# J  N" L4 @2 T- y. N1 l$ lprintf("sopen failed\n");
4 D. W" H) v! e& p! Gexit(1);
4 R" Q# Y* {( S* {" g} </FONT></P>
. S4 o8 J" Q$ M8 P7 [( U( w* T<P><FONT color=#0000ff>length = filelength(handle); 8 P! Z' I. M8 l2 _3 t- F/ I5 h4 Z
status = lock(handle,0L,length/2); </FONT></P>. r0 D# ?' K: R( ^3 q$ _
<P><FONT color=#0000ff>if (status == 0)
" @* B, G' W2 B  x1 Y& I! s# `5 k; aprintf("lock succeeded\n");
6 L* ]/ ]* m* O/ _4 q- k) _! H+ T6 h* lelse 4 x6 }4 g. C1 }( n8 h# M
printf("lock failed\n"); </FONT></P>2 I5 u( |% [. A2 k9 q" S
<P><FONT color=#0000ff>status = unlock(handle,0L,length/2); </FONT></P>
  a5 S( S3 r8 s; Y: f  [<P><FONT color=#0000ff>if (status == 0)
% \9 s) }+ I4 p$ l$ E( rprintf("unlock succeeded\n"); 2 o  t$ S. D) A  M/ S
else ; @7 H8 ]4 \( x) C# M
printf("unlock failed\n"); </FONT></P>1 C6 o2 O6 c: r% h7 b
<P><FONT color=#0000ff>close(handle); , Q+ F, G+ f* v8 _9 z3 A0 q
return 0; . u) Z0 r, F/ I6 Z: r; D
} </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-25 06:33 , Processed in 0.715563 second(s), 52 queries .

回顶部