快捷搜索:

C语言库函数(U类字母)

函数名: ultoa 
功  能: 转换一个无符号长整型数为字符串 
用  法: char *ultoa(unsigned long value, char *string, int radix); 
程序例: 

#include <stdlib.h> 
#include <stdio.h> 

int main( void ) 

unsigned long lnumber = 3123456789L; 
char string[25]; 

ultoa(lnumber,string,10); 
printf("string = %s  unsigned long = %lu ",string,lnumber); 

return 0; 

函数名: ungetc 
功  能: 把一个字符退回到输入流中 
用  法: int ungetc(char c, FILE *stream); 
程序例: 

#include <stdio.h> 
#include <ctype.h> 

int main( void ) 

int i=0; 
char ch; 

puts("Input an integer followed by a char:"); 

/* read chars until non digit or EOF */ 
while((ch = getchar()) != EOF && isdigit(ch)) 
i = 10 * i + ch - 48; /* convert ASCII into int value */ 

/* if non digit char was read, push it back into input buffer */ 
if (ch != EOF) 
ungetc(ch, stdin); 

printf("i = %d, next char in buffer = %c ", i, getchar()); 
return 0; 

函数名: ungetch 
功  能: 把一个字符退回到键盘缓冲区中 
用  法: int ungetch(int c); 
程序例: 

#include <stdio.h> 
#include <ctype.h> 
#include <conio.h> 

int main( void ) 

int i=0; 
char ch; 

puts("Input an integer followed by a char:"); 

/* read chars until non digit or EOF */ 
while((ch = getche()) != EOF && isdigit(ch)) 
i = 10 * i + ch - 48; /* convert ASCII into int value */ 

/* if non digit char was read, push it back into input buffer */ 
if (ch != EOF) 
ungetch(ch); 

printf(" i = %d, next char in buffer = %c ", i, getch()); 
return 0; 

函数名: unixtodos 
功  能: 把日期和时间转换成DOS格式 
用  法: void unixtodos(long utime, struct date *dateptr, 
struct time *timeptr); 
程序例: 

#include <stdio.h> 
#include <dos.h> 

char *month[] = {"---", "Jan", "Feb", "Mar", "Apr", "May", "Jun", 
  "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; 

#define SECONDS_PER_DAY 86400L  /* the number of seconds in one day */ 

struct date dt; 
struct time tm; 

int main(void) 

unsigned long val; 

/* get today's date and time */ 
getdate(&dt); 
gettime(&tm); 
printf("today is %d %s %d ", dt.da_day, month[dt.da_mon], dt.da_year); 

/* convert date and time to unix format (number of seconds since Jan 1, 1970 */ 
val = dostounix(&dt, &tm); 
/* subtract 42 days worth of seconds */ 
val -= (SECONDS_PER_DAY * 42); 

/* convert back to dos time and date */ 
unixtodos(val, &dt, &tm); 
printf("42 days ago it was %d %s %d ", 
  dt.da_day, month[dt.da_mon], dt.da_year); 
return 0; 

函数名: unlink 
功  能: 删掉一个文件 
用  法: int unlink(char *filename); 
程序例: 

#include <stdio.h> 
#include <io.h> 

int main(void) 

FILE *fp = fopen("junk.jnk","w"); 
int status; 

fprintf(fp,"junk"); 

status = access("junk.jnk",0); 
if (status == 0) 
printf("File exists "); 
else 
printf("File doesn't exist "); 

fclose(fp); 
unlink("junk.jnk"); 
status = access("junk.jnk",0); 
if (status == 0) 
printf("File exists "); 
else 
printf("File doesn't exist "); 

return 0; 

函数名: unlock 
功  能: 解除文件共享锁 
用  法: int unlock(int handle, long offset, long length); 
程序例: 

#include <io.h> 
#include <fcntl.h> 
#include <sysstat.h> 
#include <process.h> 
#include <share.h> 
#include <stdio.h> 

int main(void) 

int handle, status; 
long length; 

handle = sopen("c:\autoexec.bat",O_RDONLY,SH_DENYNO,S_IREAD); 

if (handle < 0) 

 printf("sopen failed "); 
 exit(1); 

length = filelength(handle); 
status = lock(handle,0L,length/2); 

if (status == 0) 
printf("lock succeeded "); 
else 
printf("lock failed "); 

status = unlock(handle,0L,length/2); 

if (status == 0) 
printf("unlock succeeded "); 
else 
printf("unlock failed "); 

close(handle); 
return 0; 

您可能还会对下面的文章感兴趣: