首页 > 编程开发 > C/C++ > 正文  
C语言库函数(U类字母)
2002年01月02日 13:54
 
函数名: 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\n",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\n", 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("\n\ni = %d, next char in buffer = %c\n", 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\n", 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\n",
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\n");
else
printf("File doesn't exist\n");

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


return 0;
}




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

#include <io.h>
#include <fcntl.h>
#include <sys\stat.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\n");
exit(1);
}

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

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

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

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

close(handle);
return 0;
}
】【http://www.trainlinux.com】【Close
『相关资料』
C语言库函数(V类字母) (2002-01-02 13:54)
C语言库函数(W类字母) (2002-01-02 13:53)
UNIX环境下的日期程序(求时间的函数) (2002-01-02 13:53)
在Unix下用C编写类Windows菜单 (2002-01-02 13:53)
Home 

诚恩Linux培训工作室