C语言函数.docx
- 文档编号:12826104
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:14
- 大小:16.18KB
C语言函数.docx
《C语言函数.docx》由会员分享,可在线阅读,更多相关《C语言函数.docx(14页珍藏版)》请在冰点文库上搜索。
C语言函数
函数名:
ultoa
功能:
转换一个无符号长整型数为字符串
用法:
char*ultoa(unsignedlongvalue,char*string,intradix);
程序例:
#include
#include
intmain(void)
{
unsignedlonglnumber=3123456789L;
charstring[25];
ultoa(lnumber,string,10);
printf("string=%sunsignedlong=%lu\n",string,lnumber);
return0;
}
函数名:
ungetc
功能:
把一个字符退回到输入流中
用法:
intungetc(charc,FILE*stream);
程序例:
#include
#include
intmain(void)
{
inti=0;
charch;
puts("Inputanintegerfollowedbyachar:
");
/*readcharsuntilnondigitorEOF*/
while((ch=getchar())!
=EOF&&isdigit(ch))
i=10*i+ch-48;/*convertASCIIintointvalue*/
/*ifnondigitcharwasread,pushitbackintoinputbuffer*/
if(ch!
=EOF)
ungetc(ch,stdin);
printf("i=%d,nextcharinbuffer=%c\n",i,getchar());
return0;
}
函数名:
ungetch
功能:
把一个字符退回到键盘缓冲区中
用法:
intungetch(intc);
程序例:
#include
#include
#include
intmain(void)
{
inti=0;
charch;
puts("Inputanintegerfollowedbyachar:
");
/*readcharsuntilnondigitorEOF*/
while((ch=getche())!
=EOF&&isdigit(ch))
i=10*i+ch-48;/*convertASCIIintointvalue*/
/*ifnondigitcharwasread,pushitbackintoinputbuffer*/
if(ch!
=EOF)
ungetch(ch);
printf("\n\ni=%d,nextcharinbuffer=%c\n",i,getch());
return0;
}
函数名:
unixtodos
功能:
把日期和时间转换成DOS格式
用法:
voidunixtodos(longutime,structdate*dateptr,
structtime*timeptr);
程序例:
#include
#include
char*month[]={"---","Jan","Feb","Mar","Apr","May","Jun",
"Jul","Aug","Sep","Oct","Nov","Dec"};
#defineSECONDS_PER_DAY86400L/*thenumberofsecondsinoneday*/
structdatedt;
structtimetm;
intmain(void)
{
unsignedlongval;
/*gettoday'sdateandtime*/
getdate(&dt);
gettime(&tm);
printf("todayis%d%s%d\n",dt.da_day,month[dt.da_mon],dt.da_year);
/*convertdateandtimetounixformat(numberofsecondssinceJan1,1970*/
val=dostounix(&dt,&tm);
/*subtract42daysworthofseconds*/
val-=(SECONDS_PER_DAY*42);
/*convertbacktodostimeanddate*/
unixtodos(val,&dt,&tm);
printf("42daysagoitwas%d%s%d\n",
dt.da_day,month[dt.da_mon],dt.da_year);
return0;
}
函数名:
unlink
功能:
删掉一个文件
用法:
intunlink(char*filename);
程序例:
#include
#include
intmain(void)
{
FILE*fp=fopen("junk.jnk","w");
intstatus;
fprintf(fp,"junk");
status=access("junk.jnk",0);
if(status==0)
printf("Fileexists\n");
else
printf("Filedoesn'texist\n");
fclose(fp);
unlink("junk.jnk");
status=access("junk.jnk",0);
if(status==0)
printf("Fileexists\n");
else
printf("Filedoesn'texist\n");
return0;
}
函数名:
unlock
功能:
解除文件共享锁
用法:
intunlock(inthandle,longoffset,longlength);
程序例:
#include
#include
#include
#include
#include
#include
intmain(void)
{
inthandle,status;
longlength;
handle=sopen("c:
\\autoexec.bat",O_RDONLY,SH_DENYNO,S_IREAD);
if(handle<0)
{
printf("sopenfailed\n");
exit
(1);
}
length=filelength(handle);
status=lock(handle,0L,length/2);
if(status==0)
printf("locksucceeded\n");
else
printf("lockfailed\n");
status=unlock(handle,0L,length/2);
if(status==0)
printf("unlocksucceeded\n");
else
printf("unlockfailed\n");
close(handle);
return0;
}
函数名:
vfprintf
功能:
送格式化输出到一流中
用法:
intvfprintf(FILE*stream,char*format,va_listparam);
程序例:
#include
#include
#include
FILE*fp;
intvfpf(char*fmt,...)
{
va_listargptr;
intcnt;
va_start(argptr,fmt);
cnt=vfprintf(fp,fmt,argptr);
va_end(argptr);
return(cnt);
}
intmain(void)
{
intinumber=30;
floatfnumber=90.0;
charstring[4]="abc";
fp=tmpfile();
if(fp==NULL)
{
perror("tmpfile()call");
exit
(1);
}
vfpf("%d%f%s",inumber,fnumber,string);
rewind(fp);
fscanf(fp,"%d%f%s",&inumber,&fnumber,string);
printf("%d%f%s\n",inumber,fnumber,string);
fclose(fp);
return0;
}
函数名:
vfscanf
功能:
从流中执行格式化输入
用法:
intvfscanf(FILE*stream,char*format,va_listparam);
程序例:
#include
#include
#include
FILE*fp;
intvfsf(char*fmt,...)
{
va_listargptr;
intcnt;
va_start(argptr,fmt);
cnt=vfscanf(fp,fmt,argptr);
va_end(argptr);
return(cnt);
}
intmain(void)
{
intinumber=30;
floatfnumber=90.0;
charstring[4]="abc";
fp=tmpfile();
if(fp==NULL)
{
perror("tmpfile()call");
exit
(1);
}
fprintf(fp,"%d%f%s\n",inumber,fnumber,string);
rewind(fp);
vfsf("%d%f%s",&inumber,&fnumber,string);
printf("%d%f%s\n",inumber,fnumber,string);
fclose(fp);
return0;
}
函数名:
vprintf
功能:
送格式化输出到stdout中
用法:
intvprintf(char*format,va_listparam);
程序例:
#include
#include
intvpf(char*fmt,...)
{
va_listargptr;
intcnt;
va_start(argptr,format);
cnt=vprintf(fmt,argptr);
va_end(argptr);
return(cnt);
}
intmain(void)
{
intinumber=30;
floatfnumber=90.0;
char*string="abc";
vpf("%d%f%s\n",inumber,fnumber,string);
return0;
}
函数名:
vscanf
功能:
从stdin中执行格式化输入
用法:
intvscanf(char*format,va_listparam);
程序例:
#include
#include
#include
intvscnf(char*fmt,...)
{
va_listargptr;
intcnt;
printf("Enteraninteger,afloat,andastring(e.g.i,f,s,)\n");
va_start(argptr,fmt);
cnt=vscanf(fmt,argptr);
va_end(argptr);
return(cnt);
}
intmain(void)
{
intinumber;
floatfnumber;
charstring[80];
vscnf("%d,%f,%s",&inumber,&fnumber,string);
printf("%d%f%s\n",inumber,fnumber,string);
return0;
}
函数名:
vsprintf
功能:
送格式化输出到串中
用法:
intvsprintf(char*string,char*format,va_listparam);
程序例:
#include
#include
#include
charbuffer[80];
intvspf(char*fmt,...)
{
va_listargptr;
intcnt;
va_start(argptr,fmt);
cnt=vsprintf(buffer,fmt,argptr);
va_end(argptr);
return(cnt);
}
intmain(void)
{
intinumber=30;
floatfnumber=90.0;
charstring[4]="abc";
vspf("%d%f%s",inumber,fnumber,string);
printf("%s\n",buffer);
return0;
}
函数名:
vsscanf
功能:
从流中执行格式化输入
用法:
intvsscanf(char*s,char*format,va_listparam);
程序例:
#include
#include
#include
charbuffer[80]="3090.0abc";
intvssf(char*fmt,...)
{
va_listargptr;
intcnt;
fflush(stdin);
va_start(argptr,fmt);
cnt=vsscanf(buffer,fmt,argptr);
va_end(argptr);
return(cnt);
}
intmain(void)
{
intinumber;
floatfnumber;
charstring[80];
vssf("%d%f%s",&inumber,&fnumber,string);
printf("%d%f%s\n",inumber,fnumber,string);
return0;
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 函数