couble fmod (double x, double y); <?xml:namespace prefix="o" ns="urn:schemas-microsoft-com:office:office"?>
返回x对y的模,即x/y的余数。
void fnmerge(char *path,const char *drive,const char *dir,const char *name,const char *ext);
由给定的盘区路径文件名扩展名等组成部分建立path。
如果drive给出X:,dir给出\DIR\SUBDIR\,name给出NAME,和.ext给出.EXT,根据给定的组成部分,可建立一个完整的盘区路径文件名path为:
X:\DIR\CUBDIR\NAME.EXT
int fnsplit(const char *path,char *drive,char *cir,char *name,char *ext);
可把由path给出的盘区路径文件名扩展名分解成为各自的组成部分.返回一整型数.
FILE*fopen (const char *filemane,const char *mode);
打开文件filemane返回相联系的流;出错返回NULL。
mode字符串的可取值有:r,打开用于读;w,打开用于写;a,打开用于在原有内容之后写;r+,打开已存在的文件用于更新(读和写);w+创建新文件用于更新;a+,打开用于在原有内容之后更新,若文件不存在就创建。
unsigned FP_OFF(void far *farptr);
返回远指针farptr的地址偏移量。
int fprintf(FILE *stream,const char *format[,argument,...]);
照原样抄写格式串format的内容到流stream中,每遇到一个%,就按规定的格式,依次输出一个表达式argument的值到流stream中,返回写的字符个数。出错时返回EOF。
FILE *stream;
void main( void )
{
long l;
float fp;
char s[81];
char c;
stream = fopen( "fscanf.txt", "w+" );
if( stream == NULL )
printf( "The file fscanf.out was not opened\n" );
else {fprintf( stream, "%s %ld %f%c", "a-string",65000, 3.14159, 'x' );
/* Set pointer to beginning of file: */
fseek( stream, 0L, SEEK_SET );
/* Read data back from file: */
fscanf( stream, "%s", s );
fscanf( stream, "%ld", &l );
fscanf( stream, "%f",
fscanf( stream, "%c", &c );/* Output data read: */
printf( "%s\n", s );
printf( "%ld\n", l );
printf( "%f\n", fp );
printf( "%c\n", c );
fclose( stream ); }
}
int fputc(int c,FILE *stream);
写一个字符到流中。
成功时返回所写的字符,失败或出错时返回EOF。
int fputchar(int c);
送一个字符到屏幕。
等价于fputc(c,stdout);成功时返回所写的字符,失败或出错时返回EOF。
int fputs(const char *s,FILE *stream);
把s所指的以空字符终结的字符串送入流中,不加换行符'\n',不拷贝串结束符'\0'。
成功时返回最后的字符,出错时返回EOF。
size_t fread(void *ptr,size_t size,size_t n,FILE *stream);
从所给的输入流stream中读取的n项数据,每一项数据长度为size字节,到由ptr所指的块中。
成功时返回所读的数据项数(不是字节数);遇到文件结束或出错时可能返回0。
void free(void *block);
释放先前分配的首地址为block的内存块。
int freemem(unsigned segx);
释放先前由allocmem分配的段地址为segx的内存块。
FILE *freopen(const char *filename,const char *mode,FILE *stream);
用filename所指定的文件代替打开的流stream所指定的文件。返回stream,出错时返回NULL。
double frexp(double x int *exponent);
将x分解成尾数合指数。
将给出的双精度数x分解成为在0.5和1之间尾数m和整形的指数n,使原来的x=m*(2的n次方),将整形指数n存入exponent所指的地址中,返回尾数m。
int fscan(FILE *stream,char *format,address,...);
fscanf扫描输入字段,从流stream读入,每读入一个字段,就依次按照由format所指的格式串中取一个从%开始的格式进行格式化之后存入对应的一个地址address中。
返回成功地扫描,转换和存贮输入字段的个数,遇文件结束返回EOF。
FILE *stream;
void main( void )
{
long l;
float fp;
char s[81];
char c;
stream = fopen( "fscanf.txt", "w+" );
if( stream == NULL )
printf( "The file fscanf.out was not opened\n" );
else {fprintf( stream, "%s %ld %f%c", "a-string",65000, 3.14159, 'x' );
/* Set pointer to beginning of file: */
fseek( stream, 0L, SEEK_SET );
/* Read data back from file: */
fscanf( stream, "%s", s );
fscanf( stream, "%ld", &l );
fscanf( stream, "%f",
fscanf( stream, "%c", &c );/* Output data read: */
printf( "%s\n", s );
printf( "%ld\n", l );
printf( "%f\n", fp );
printf( "%c\n", c );
fclose( stream ); }
}
int fseek(FILE *stream,long offset,int whence);
在流上重新定位文件结构的位置。fseek设置与流stream相联系的文件指针到新的位置,新位置与whence给定的文件位置的距离为offset字节。
whence的取值必须是0,1或2中的一个,分别代表在stdio.h中定义的三个符号常量:
0是SEEK_SET,是文件开始位置;
1是SEEK_CUR,是当前的指针位置;
2时SEEK_END,是文件末尾。
调用了fseek之后,在更新的文件位置上,下一个操作可以是输入;也可以是输出。成功地移动了指针时,fseek返回0;出错或失败时返回非0值。
例:
#i nclude
FILE *stream;
void main( void )
{
long l;
float fp;
char s[81];
char c;
stream = fopen( "fscanf.txt", "w+" );
if( stream == NULL )
printf( "The file fscanf.out was not opened\n" );
else {fprintf( stream, "%s %ld %f%c", "a-string",65000, 3.14159, 'x' );
/* Set pointer to beginning of file: */
fseek( stream, 0L, SEEK_SET );
/* Read data back from file: */
fscanf( stream, "%s", s );
fscanf( stream, "%ld", &l );
fscanf( stream, "%f",
fscanf( stream, "%c", &c );/* Output data read: */
printf( "%s\n", s );
printf( "%ld\n", l );
printf( "%f\n", fp );
printf( "%c\n", c );
fclose( stream ); }
}
int fsetpos(FILE *stream,const fpos_t *pos);
fsetpos把与stream相联系的文件指针置于新的位置。这个新的位置是先前对此流调用fgetpos所得的值。
fsetpos清除stream所指文件的文件结束标志,并消除对该文件的所有ungetc操作。在调用fsetpos之后,文件的下一操作可以是输入或输出。
调用fsetpos成功时返回0;若失败,返回非0值。
int fstat(int handle,struct stat *statbuf);
把与handle相联系的打开文件或目录的信息存入到statbuf所指的定义在sys\stat.h中的stat结构中。成功时返回0;出错时返回-1。
long int ftell(FILE *stream);
返回流stream中当前文件指针位置。偏移量是文件开始算起的字节数。出错时返回-1L,是长整数的-1值。
void ftime(struct timeb *buf);
把当前时间存入到在sys\timeb.h中定义的timeb结构中。
size_t fwrite(const void *ptr,size_t size,size_t n,FILE *stream);
fwrite从指针ptr开始把n个数据项添加到给定输出流stream,每个数据项的长度为size个字节。
成功是返回确切的数据项数(不是字节数);出错时返回短(short)计数值。可能是0。
函数名: gcvt 
功 能: 把浮点数转换成字符串 
用 法: char *gcvt(double value, int ndigit, char *buf); 
程序例: 
#i nclude 
#i nclude 
int main(void) 
{ 
char str[25]; 
double num; 
int sig = 5; /* significant digits */ 
/* a regular number */ 
num = 9.876; 
gcvt(num, sig, str); 
printf("string = %s\n", str); 
/* a negative number */ 
num = -123.4567; 
gcvt(num, sig, str); 
printf("string = %s\n", str); 
/* scientific notation */ 
num = 0.678e5; 
gcvt(num, sig, str); 
printf("string = %s\n", str); 
return(0); 
} 
函数名: geninterrupt 
功 能: 产生一个软中断 
用 法: void geninterrupt(int intr_num); 
程序例: 
#i nclude 
#i nclude 
/* function prototype */ 
void writechar(char ch); 
int main(void) 
{ 
clrscr(); 
gotoxy(80,25); 
writechar('*'); 
getch(); 
return 0; 
} 
/* 
outputs a character at the current cursor 
position using the video BIOS to avoid the 
scrolling of the screen when writing to 
location (80,25). 
*/ 
void writechar(char ch) 
{ 
struct text_info ti; 
/* grab current text settings */ 
gettextinfo(&ti); 
/* interrupt 0x10 sub-function 9 */ 
_AH = 9; 
/* character to be output */ 
_AL = ch; 
_BH = 0; /* video page */ 
_BL = ti.attribute; /* video attribute */ 
_CX = 1; /* repetition factor */ 
geninterrupt(0x10); /* output the char */ 
} 
函数名: getarccoords 
功 能: 取得最后一次调用arc的坐标 
用 法: void far getarccoords(struct arccoordstype far *arccoords); 
程序例: 
#i nclude 
#i nclude 
#i nclude 
#i nclude 
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
struct arccoordstype arcinfo; 
int midx, midy; 
int stangle = 45, endangle = 270; 
char sstr[80], estr[80]; 
/* initialize graphics and local variables */ 
initgraph(&gdriver, &gmode, ""); 
/* read result of initialization */ 
errorcode = graphresult(); 
/* an error occurred */ 
if (errorcode != grOk) 
{ 
printf("Graphics error: %s\n", 
grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
/* terminate with an error code */ 
exit(1); 
} 
midx = getmaxx() / 2; 
midy = getmaxy() / 2; 
/* draw arc and get coordinates */ 
setcolor(getmaxcolor()); 
arc(midx, midy, stangle, endangle, 100); 
getarccoords(&arcinfo); 
/* convert arc information into strings */ 
sprintf(sstr, "*- (%d, %d)", 
arcinfo.xstart, arcinfo.ystart); 
sprintf(estr, "*- (%d, %d)", 
arcinfo.xend, arcinfo.yend); 
/* output the arc information */ 
outtextxy(arcinfo.xstart, 
arcinfo.ystart, sstr); 
outtextxy(arcinfo.xend, 
arcinfo.yend, estr); 
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 
函数名: getaspectratio 
功 能: 返回当前图形模式的纵横比 
用 法: void far getaspectratio(int far *xasp, int far *yasp); 
程序例: 
#i nclude 
#i nclude 
#i nclude 
#i nclude 
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
int xasp, yasp, midx, midy; 
/* initialize graphics and local variables */ 
initgraph(&gdriver, &gmode, ""); 
/* read result of initialization */ 
errorcode = graphresult(); 
/* an error occurred */ 
if (errorcode != grOk) 
{ 
printf("Graphics error: %s\n", 
grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
/* terminate with an error code */ 
exit(1); 
} 
midx = getmaxx() / 2; 
midy = getmaxy() / 2; 
setcolor(getmaxcolor()); 
/* get current aspect ratio settings */ 
getaspectratio(&xasp, &yasp); 
/* draw normal circle */ 
circle(midx, midy, 100); 
getch(); 
/* draw wide circle */ 
cleardevice(); 
setaspectratio(xasp/2, yasp); 
circle(midx, midy, 100); 
getch(); 
/* draw narrow circle */ 
cleardevice(); 
setaspectratio(xasp, yasp/2); 
circle(midx, midy, 100); 
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 
函数名: getbkcolor 
功 能: 返回当前背景颜色 
用 法: int far getbkcolor(void); 
程序例: 
#i nclude 
#i nclude 
#i nclude 
#i nclude 
#i nclude 
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
int bkcolor, midx, midy; 
char bkname[35]; 
/* initialize graphics and local variables */ 
initgraph(&gdriver, &gmode, ""); 
/* read result of initialization */ 
errorcode = graphresult(); 
/* an error occurred */ 
if (errorcode != grOk) 
{ 
printf("Graphics error: %s\n", 
grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
/* terminate with an error code */ 
exit(1); 
} 
midx = getmaxx() / 2; 
midy = getmaxy() / 2; 
setcolor(getmaxcolor()); 
/* for centering text on the display */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
/* get the current background color */ 
bkcolor = getbkcolor(); 
/* convert color value into a string */ 
itoa(bkcolor, bkname, 10); 
strcat(bkname, 
" is the current background color."); 
/* display a message */ 
outtextxy(midx, midy, bkname); 
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 
函数名: getc 
功 能: 从流中取字符 
用 法: int getc(FILE *stream); 
程序例: 
#i nclude
int main(void) 
{ 
char ch; 
printf("Input a character:"); 
/* read a character from the 
standard input stream */ 
ch = getc(stdin); 
printf("The character input was: '%c'\n", 
ch); 
return 0; 
} 
函数名: getcbrk 
功 能: 获取Control_break设置 
用 法: int getcbrk(void); 
程序例: 
#i nclude 
#i nclude 
int main(void) 
{ 
if (getcbrk()) 
printf("Cntrl-brk flag is on\n"); 
else 
printf("Cntrl-brk flag is off\n"); 
return 0; 
} 
函数名: getch 
功 能: 从控制台无回显地取一个字符 
用 法: int getch(void); 
程序例: 
#i nclude 
#i nclude 
int main(void) 
{ 
char ch; 
printf("Input a character:"); 
ch = getche(); 
printf("\nYou input a '%c'\n", ch); 
return 0; 
} 
函数名: getchar 
功 能: 从stdin流中读字符 
用 法: int getchar(void); 
程序例: 
#i nclude
int main(void) 
{ 
int c; 
/* Note that getchar reads from stdin and 
is line buffered; this means it will 
not return until you press ENTER. */ 
while ((c = getchar()) != '\n') 
printf("%c", c); 
return 0; 
} 
函数名: getche 
功 能: 从控制台取字符(带回显) 
用 法: int getche(void); 
程序例: 
#i nclude 
#i nclude 
int main(void) 
{ 
char ch; 
printf("Input a character:"); 
ch = getche(); 
printf("\nYou input a '%c'\n", ch); 
return 0; 
} 
函数名: getcolor 
功 能: 返回当前画线颜色 
用 法: int far getcolor(void); 
程序例: 
#i nclude 
#i nclude 
#i nclude 
#i nclude 
#i nclude 
int main(void) 
{ 
/* request auto detection */ 
int gdriver = DETECT, gmode, errorcode; 
int color, midx, midy; 
char colname[35]; 
/* initialize graphics and local variables */ 
initgraph(&gdriver, &gmode, ""); 
/* read result of initialization */ 
errorcode = graphresult(); 
/* an error occurred */ 
if (errorcode != grOk) 
{ 
printf("Graphics error: %s\n", 
grapherrormsg(errorcode)); 
printf("Press any key to halt:"); 
getch(); 
/* terminate with an error code */ 
exit(1); 
} 
midx = getmaxx() / 2; 
midy = getmaxy() / 2; 
setcolor(getmaxcolor()); 
/* for centering text on the display */ 
settextjustify(CENTER_TEXT, CENTER_TEXT); 
/* get the current drawing color */ 
color = getcolor(); 
/* convert color value into a string */ 
itoa(color, colname, 10); 
strcat(colname, 
" is the current drawing color."); 
/* display a message */ 
outtextxy(midx, midy, colname); 
/* clean up */ 
getch(); 
closegraph(); 
return 0; 
} 
                  
                  
                  
                  
本文详细介绍了C语言中的多种标准库函数,包括数学运算、文件操作、字符串处理等功能,提供了丰富的应用实例帮助理解。
          
                    
      
          
                
                
                
                
              
                
                
                
                
                
              
                
                
              
            
                  
					586
					
被折叠的  条评论
		 为什么被折叠?
		 
		 
		
    
  
    
  
            


            