c函数.docx
《c函数.docx》由会员分享,可在线阅读,更多相关《c函数.docx(121页珍藏版)》请在冰豆网上搜索。
c函数
scanf
setbuf
setmode
setvbuf
sprintf
sscanf
strcat
strchr
strcmp
strcpy
strcspn
strdup
strerror
strlen
strlwr
strncat
strncmp
strnset
strpbrk
strrchr
strrev
strset
strspn
strstr
strtop
strupr
sin
sinh
sqrt
segread
setdate
settime
setdta
setvect
setverify
sleep
sbrk
setblock
searchpath
setdisk
spawnl
spawnle
spawnlpe
spawnp
spawnpe
spawnv(ve)
setactivepage
setallpalette
setbkcolor
setfillpattern
setfillstyle
setgraphbufsize
setgraphmode
setlinestyle
setusercharsize
setviewport
setvisualpage
setjmp
srand
signal
_status87
strtod
strtol
swab
system
函数申明:
intscanf(constchar*format,arg_list)
函数用途:
格式参数输入函数,该函数很象printf函数的反函数,单对于非指针变量,应使用其指针调用,才能得到输入的参数
头文件:
stdio.h
输入参数:
format:
该参数用于说明输入参数的格式,可以同时说明多个格式,使用同printf函数,即:
定义格式为:
%[flags][width][.perc][F|N|h|l]type
可以将一个和或者多个格式字符加入到一个字符串的任意位置,例如:
floatfx;inta;
scanf("%d%f",&a,&fx)
printf("scanffuncitoninputresulta=%d,fx=%f",a,fx);
注意这里在scanf函数中参数a,fx前使用了&符号来使用变量的地址作为参数。
和printf函数不同。
该参数详细说明如下:
1:
[]表示该格式参数为可选,并且为type的修饰符,来进一步说明由type参数所
定义的格式。
2:
type-含义如下:
d有符号10进制整数
i有符号10进制整数
o有符号8进制整数
u无符号10进制整数
x有符号16进制整数,在scanf中表示无符号16进制整数
X有符号16进制整数,在scanf中表示无符号16进制整数
f浮点数
e用科学表示格式的浮点数
g使用%f和%e表示中的较精确者来表示浮点数
E同e格式,但表示为指数
G同g格式,但表示为指数
c单个字符
s字符串
%显示百分号(%)本身
p显示一个指针,near指针表示为:
XXXX;far指针表示为:
XXXX:
YYYY
n相连接的参量应是一个指针,其中存放已写字符的个数
2:
flags:
该参数规定了对齐等输出方式,取值和含义如下:
无右对齐,左边填充0和空格
+左对齐,右边填充空格
-在数字前增加符号"+"或者"-"
(一个空格)只对负数显示符号
#当type=c.s.d.i.u没有影响
type=o,x,X时,在数值前增加'0'字符
type=e,E,f时,总是使用小数点
type=g,G时,除了数值为0外,总是显示小数点
3:
width:
用于控制显示数值的宽度,取值和含义如下:
n(n=1,2,3...)宽度至少为n位,不够以空格填充
0n(n=1,2,3...)宽度至少为n位,不够左边以‘0’填充
*格式列表中下一个参数还是width
4:
.prec:
用于控制数值的显示精度,也就是小数点后面的位数,取值和含义如下:
无按缺省精度显示
.0当type=d,i,o,u,x时,没有影响
type=e,E,f时,不显示小数点
.n(n=1,2,3...)当type=e,E,f时表示的最大小数位数
type=其他,表示显示的最大宽度
.*格式列表中下一个参数还是width
5:
F|N|h|l:
用于表示指针是否是远指针,或者整数是否是长整数,取值和含义如下:
F远指针
N近指针
h短整数,或单精度浮点数
l长整数,或双精度浮点数
arg_list:
要显示的参数变量列表,多个变量以豆号分隔。
请参见该函数中的说明。
agr
使用说明:
1:
多个参数之间使用空格,制表符或者回车换行作为分隔符
2:
如读入的参数是单个字符变量,则分隔符也将作为字符读入
3:
该函数中,format中无需增加另外的说明字符,例如:
scanf("%d%f",&a,&fx)
一般不写成:
scanf("pleaseinputa=%dfx=%f",&a,&fx)
如有其他字符,输入时将从输入字符中踢出相同的字符
函数申明:
voidsetbuf(FILE*stream,char*buf)
函数用途:
指定某个流文件操作所使用的缓冲区
头文件:
stdio.h
输入参数:
fp:
使用fopen打开的文件流指针;
buf:
大小必须为BUFSIZ宏长度(该宏见stdio.h文件,值为512字节)的内存指针
函数申明:
intsetmode(inthandle,intamode)
函数用途:
重新设置一个已打开文件的操作模式
头文件:
io.h
输入参数:
handle:
已打开文件句柄;amode:
打开模式;同open函数中的参数mode,具体内容请参见该函数
返回值:
0:
操作成功;-1:
操作失败
函数申明:
intsetvbuf(FILE*fp,char*buf,inttype,size_tsize)
函数用途:
对指定文件fp指定操作缓冲区
头文件:
stdio.h
输入参数:
fp:
文件指针;buf:
缓冲区指针;size:
缓冲区大小;
type:
模式,其取值和含义如下(见文件stdio.h):
_IOFBF0满缓冲区后刷新缓冲区
_IOLBF1在缓冲区写入或读出一行字符后刷新缓冲区
_IONBF2满不缓冲
返回值:
0:
操作成功了;非0:
操作失败
函数申明:
intsprintf(char*buffer,constchar*format,...)
函数用途:
往缓冲区中按指定格式输出参数,其用法同printf函数相同
头文件:
stdio.h
输入参数:
buffer:
写入的缓冲区
format:
含义同printf函数
函数申明:
intsscanf(constchar*buffer,constchar*format,...)
函数用途:
从缓冲区buffer中按指定格式输入字符,该函数用法同scanf
头文件:
stdio.h
输入参数:
buffer:
数据源缓冲区;format:
含义见scanf
函数申明:
char*strcat(char*dest,constchar*src)
函数用途:
字符串连接,将src连接到dest的尾部
头文件:
string.h
输入参数:
dest,src:
待连接的字符串,连接后dest位于字符串前面部分,src位于后面
输出参数:
dest:
连接后的字符串
返回值:
指向dest的指针
函数申明:
char*strchr(char*str,charch)
函数用途:
在字符串str中搜索一个字符ch的位置
头文件:
string.h
输入参数:
str:
待搜索的字符串;ch:
查找的字符
返回值:
指向ch在str的位置指针,返回NULL表示未找到
函数申明:
intstrcmp(char*str1,char*str2)
函数用途:
字符串比较
头文件:
string.h
输入参数:
str1,str2:
待比较的字符串
返回值:
小于0:
str1str2
函数申明:
char*strcpy(char*dest,constchar*src)
函数用途:
将字符串src拷贝到字符串dest中去
头文件:
string.h
输入参数:
dest:
目的字符串;src:
源字符串
输出参数:
dest:
等于src的内容
返回值:
指向dest的指针
函数申明:
intstrcspn(constchar*s1,constchar*s2)
函数用途:
得到s1中第一个同时也是s2中字符的字符位置
头文件:
string.h
返回值:
位置指针
函数申明:
char*strdup(constchar*s)
函数用途:
字符串拷贝,目的空间由该函数分配
头文件:
string.h
输入参数:
src:
待拷贝的源字符串
返回值:
指向拷贝后的字符串指针
函数申明:
char*strerror(interrnum)
函数用途:
得到错误信息的内容信息
头文件:
string.h
输入参数:
errnum:
错误编号
返回值:
错误提示信息字符串指针
函数申明:
intstrlen(constchar*s)
函数用途:
得到字符串长度
头文件:
string.h
输入参数:
s:
待求长度的字符串指针
返回值:
字符串的长度
函数申明:
char*strlwr(char*s)
函数用途:
将字符串中的字符变为小写字符
头文件:
string.h
输出参数:
s:
字符已变为小写的字符串
返回值:
指向s的指针
函数申明:
char*strlwr(char*s)
函数用途:
将字符串中的字符变为小写字符
头文件:
string.h
输出参数:
s:
字符已变为小写的字符串
返回值:
指向s的指针
函数申明:
char*strncat(char*dest,constchar*src,size_tmaxlen)
函数用途:
将字符串src中不超过maxlen个字符连接到dest中
头文件:
string.h
返回值:
指向dest的指针
函数申明:
intstrncmp(char*str1,char*str2,intcount)
函数用途:
对str1和str2中的前count个字符按字典顺序比较
头文件:
string.h
输入参数:
str1,str2:
待比较的字符串;count:
比较的长度
返回值:
小于0:
str1str2
函数申明:
char*strncpy(char*dest,constchar*src,intcount)
函数用途:
将字符串src中的count个字符拷贝到字符串dest中去
头文件:
string.h
输入参数:
dest:
目的字符串;src:
源字符串;count:
拷贝的字符个数
输出参数:
dest:
等于src的前count个字符内容
返回值:
指向dest的指针
函数申明:
char*strnset(char*s,intch,size_tn)
函数用途:
将字符串s中前n个字符设置为ch的值
头文件:
string.h
返回值:
指向s的指针
函数申明:
char*strpbrk(constchar*s1,constchar*s2)
函数用途:
得到s1中首次出现的也是s2中字符的位置指针
头文件:
string.h
返回值:
位置指针
函数申明:
char*strrchr(constchar*s,intc)
函数用途:
得到字符串s中最后一个含有c字符的位置指针
头文件:
string.h
返回值:
位置指针
函数申明:
char*strrev(char*s)
函数用途:
将字符串中的所有字符颠倒次序排列
头文件:
string.h
输出参数:
s:
倒置的字符串
返回值:
指向s的指针
函数申明:
char*strset(char*s,intch)
函数用途:
将字符串s中所有字符设置为ch的值
头文件:
string.h
输入参数:
返回值:
指向s的指针
相关函数:
|strnset|
函数申明:
intstrspn(constchar*s1,constchar*s2)
函数用途:
得到s1中第一个同时也不是s2中任意字符的字符位置
头文件:
string.h
返回值:
位置指针
相关函数:
|strcspn|strpbrk|
函数申明:
char*strstr(constchar*s1,constchar*s2)
函数用途:
得到在s1中第一次包含s2字符串的位置
头文件:
string.h
返回值:
在s1中第一次包含s2字符串的位置指针
相关函数:
|strcspn|strpbrk|strspn|
函数申明:
char*strtok(char*s1,constchar*s2)
函数用途:
得到字符串s1中首次出现s2中的字符前的子字符串
头文件:
string.h
返回值:
字符串s1中首次出现s2中的字符前的子字符串指针
使用说明:
1:
该函数将s1中首次出现s2中字符的位置置为NULL,因此会破坏s1字符串2:
该函数一般用于分解s1字符串为用特定分隔符分隔的多个字符串,s2一般设置为s1中的分隔字符,比如空格,豆号等,例如将一条自然英文语句分解为单词。
函数申明:
char*strupr(char*s)
函数用途:
将字符串s中的字符变为大写
函数申明:
doublesin(doublex)
函数用途:
计算正弦函数
头文件:
math.h
输入参数:
x:
角度的单位为弧度,而非度。
函数申明:
doublesinh(doublex)
函数用途:
计算双曲正弦函数
头文件:
math.h
输入参数:
x:
角度的单位为弧度,而非度。
函数申明:
doublesqrt(doublex)
函数用途:
求平方根函数
头文件:
math.h
函数申明:
voidsegread(structSREGS*segp)
函数用途:
按SREGS格式设置断寄存器的数值,该函数得到的segp参数供intdosx和int86函数使用
头文件:
dos.h
输入参数:
输出参数:
segp:
段寄存器内容,结构SREGS定义如下:
structSREGS{
unsignedintes;
unsignedintcs;
unsignedintss;
unsignedintds;
};
函数申明:
voidsetdate(structdate*datep)
函数用途:
设置DOS日期
头文件:
dos.h
输入参数:
datep:
要设置的日期数值,structdate定义格式如下:
structdate
{
intda_year;/*Year-1980*/
charda_day;/*Dayofthemonth*/
charda_mon;/*Month(1=Jan)*/
};
函数申明:
voidsettime(structtime*timep)
函数用途:
设置DOS时间
头文件:
dos.h
输入参数:
timep:
要设置的时间数值,structtime定义格式如下:
structtime
{
unsignedcharti_min;/*Minutes*/
unsignedcharti_hour;/*Hours*/
unsignedcharti_hund;/*Hundredthsofseconds*/
unsignedcharti_sec;/*Seconds*/
};
函数申明:
voidsetdta(charfar*dta)
函数用途:
设置DTA(磁盘传送区)地址
头文件:
dos.h
输入参数:
dta:
缓冲区地址指针
函数申明:
voidsetvect(intinterruptno,voidinterrupt(*isr)())
函数用途:
为指定的中断向量设置中断服务函数
头文件:
dos.h
输入参数:
interruptno:
中断向量;isr:
中断函数,该函数应使用interrupt关键字声明。
函数申明:
voidsetverify(intvalue)
函数用途:
设置DOS磁盘操作中确认标志的状态
头文件:
dos.h
输入参数:
value:
=0.磁盘操作无需确认;value:
=1.磁盘操作需要确认;
函数申明:
voidsleep(unsignedseconds)
函数用途:
该函数使程序停止运行seconds秒
头文件:
dos.h
输入参数:
seconds:
停止运行的秒数
函数申明:
void*sbrk(intincr)
函数用途:
为数据段增加内存
头文件:
alloc.h
输入参数:
incr:
数据段增加的字节数据
函数申明:
intsetblock(unsignedsegx,unsignednewsize)
函数用途:
修改段地址为segx的内存块的大小
头文件:
dos.h
输入参数:
segx:
内存块的段地址,该地址是使用allocmem分配的
函数申明:
char*searchpath(constchar*file)
函数用途:
寻找文件的路径
头文件:
dir.h
输入参数:
file:
要寻找其路径的文件名称
函数申明:
intsetdisk(intdrive)
函数用途:
设置当前工作驱动器
头文件:
dir.h
输入参数:
drive:
设置的驱动器号(0-A;1-B;2-C.....)
返回值:
机器的驱动器总数
函数申明:
intspawnl(intmode,char*path,char*arg0,...)
intspawnle(intmode,char*path,char*arg0,...)
intspawnlp(intmode,char*path,char*arg0,...)
intspawnlpe(intmode,char*path,char*arg0,...)
intspawnv(intmode,char*path,char*argv[])
intspawnve(intmode,char*path,char*argv[],char**env)
intspawnvp(intmode,char*path,char*argv[])
intspawnvpe(intmode,char*path,char*argv[],char**env)
函数用途:
在一个程序中调用另外一个程序
头文件:
process.h
输入参数:
path:
被调用程序路径;arg:
调用的参数
mode:
调用模式,具体如下:
P_WAIT0将父过程挂起,知道子过程执行完毕
P_NOWAIT1父子过程同时执行,Turboc不支持
P_OVERLAY2子过程覆盖父过程
使用说明:
-1:
调用失败,0:
调用成功
相关函数:
|exit|atexit|exec|system|abort|
函数申明:
voidfarsetactivepage(intpage)
函数用途:
设置图形函数操作的页面,该页面不等于显示的页面,EGA/VGA图形系统可有2个页面,
头文件:
graphics.h
输入参数:
page:
页面号,等于0或1
函数申明:
voidfarsetallpalette(structpalettetypefar*palette)
函数用途:
设置EGA/VGA图形系统调色板的所有颜色数值
头文件:
graphics.h
输入参数:
palette:
新的调色板颜色数据,该结构如下:
structpalettetype
{
unsignedcharsize;
signedcharcolors[15];
};
函数申明:
voidfarsetbkcolor(intcolor)
函数用途:
设置背景颜色
头文件:
graphics.h
输入参数:
color:
颜色数值(0-15),可使用以下宏定义:
颜色值,宏定义含义
0-BLACK黑,1-BLUE,兰2-GREEN绿
3-CYAN,青4-RED,红5-MAGENTA,洋红
6-BROWN,棕7-LIGHTGRAY,淡灰8-DARKGRAY,深灰
9-LIGHTBLUE,淡兰10-LIGHTGREEN,淡绿11-LIGHTCYAN,淡青
12-LIGHTRED,淡红13-LIGHTMAGENTA,淡洋红14-YELLOW,黄
15-WHITE白
函数申明:
voidfarsetcolor(intcolor)
函数用途:
设置当前画线颜色
头文件: