当前位置:编程学习 > 网站相关 >>

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

转自:Hacker001.Com 时间:2004年5月24日5:16

函数名: fabs
功 能: 返回浮点数的绝对值
用 法: double fabs(double x);
程序例:
#include
#include

int main(void)
{
float number = -1234.0;

printf("number: %f absolute value: %f ",
number, fabs(number));
return 0;
}

 


函数名: farcalloc
功 能: 从远堆栈中申请空间
用 法: void far *farcalloc(unsigned long units, unsigned ling unitsz);
程序例:
#include
#include
#include
#include

int main(void)
{
char far *fptr;
char *str = "Hello";

/* allocate memory for the far pointer */
fptr = farcalloc(10, sizeof(char));

/* copy "Hello" into allocated memory */
/*
Note: movedata is used because you
might be in a small data model, in
which case a normal string copy routine
can not be used since it assumes the
pointer size is near.
*/
movedata(FP_SEG(str), FP_OFF(str),
FP_SEG(fptr), FP_OFF(fptr),
strlen(str));

/* display string (note the F modifier) */
printf("Far string is: %Fs ", fptr);

/* free the memory */
farfree(fptr);

return 0;
}

 


函数名: farcoreleft
功 能: 返回远堆中未作用存储区大小
用 法: long farcoreleft(void);
程序例:

#include
#include

int main(void)
{
printf("The difference between the
highest allocated block in the
far ");
printf("heap and the top of the far heap
is: %lu bytes ", farcoreleft());

return 0;
}

 


函数名: farfree
功 能: 从远堆中释放一块
用 法: void farfree(void);
程序例:

#include
#include
#include
#include

int main(void)
{
char far *fptr;
char *str = "Hello";

/* allocate memory for the far pointer */
fptr = farcalloc(10, sizeof(char));

/* copy "Hello" into allocated memory */
/*
Note: movedata is used because you might be in a small data model,
in which case a normal string copy routine cant be used since it
assumes the pointer size is near.
*/
movedata(FP_SEG(str), FP_OFF(str),
FP_SEG(fptr), FP_OFF(fptr),
strlen(str));

/* display string (note the F modifier) */
printf("Far string is: %Fs ", fptr);

/* free the memory */
farfree(fptr);

return 0;
}

 


函数名: farmalloc
功 能: 从远堆中分配存储块
用 法: void far *farmalloc(unsigned long size);
程序例:

#include
#include
#include
#include

int main(void)
{
char far *fptr;
char *str = "Hello";

/* allocate memory for the far pointer */
fptr = farmalloc(10);

/* copy "Hello" into allocated memory */
/*
Note: movedata is used because we might
be in a small data model, in which case
a normal string copy routine can not be
used since it assumes the pointer size
is near.
*/
movedata(FP_SEG(str), FP_OFF(str),
FP_SEG(fptr), FP_OFF(fptr),
strlen(str));

/* display string (note the F modifier) */
printf("Far string is: %Fs ", fptr);

/* free the memory */
farfree(fptr);

return 0;
}

 


函数名: farrealloc
功 能: 调整远堆中的分配块
用 法: void far *farrealloc(void far *block, unsigned long newsize);
程序例:

#include
#include

int main(void)
{
char far *fptr;

fptr = farmalloc(10);
printf("First address: %Fp ", fptr);
fptr = farrealloc(fptr,20);
printf("New address : %Fp ", fptr);
farfree(fptr);
return 0;
}

 

函数名: fclose
功 能: 关闭一个流
用 法: int fclose(FILE *stream);
程序例:

#include
#include

int main(void)
{
FILE *fp;
char buf[11] = "0123456789";

/* create a file containing 10 bytes */
fp = fopen("DUMMY.FIL", "w");
fwrite(&buf, strlen(buf), 1, fp);

/* close the file */
fclose(fp);
return 0;
}

 


函数名: fcloseall
功 能: 关闭打开流
用 法: int fcloseall(void);
程序例:

#include

int main(void)
{
int streams_closed;

/* open two streams */
fopen("DUMMY.ONE", "w");
fopen("DUMMY.TWO", "w");

/* close the open streams */
streams_closed = fcloseall();

if (streams_closed == EOF)
/* issue an error message */
perror("Error");
else
/* print result of fcloseall() function */
printf("%d streams were closed. ", streams_closed);

return 0;
}

 

函数名: fcvt
功 能: 把一个浮点数转换为字符串
用 法: char *fcvt(double value, int ndigit, int *decpt, int *sign);
程序例:

#include
#include
#include

int main(void)
{
char *string;
double value;
int dec, sign;
int ndig = 10;

clrscr();
value = 9.876;
string = ecvt(value, ndig, &dec, &sign);
printf("string = %s dec = %d
sign = %d ", string, dec, sign);

value = -123.45;
ndig= 15;
string = ecvt(value,ndig,&dec,&sign);
printf("string = %s dec = %d sign = %d ",
string, dec, sign);


value = 0.6789e5; /* scientific
notation */
ndig = 5;
string = ecvt(value,ndig,&dec,&sign);
printf("string = %s dec = %d
sign = %d ", string, dec, sign);

return 0;
}

 


函数名: fdopen
功 能: 把流与一个文件句柄相接
用 法: FILE *fdopen(int handle, char *type);
程序例:

#include
#include
#include
#include

int main(void)
{
int handle;
FILE *stream;

/* open a file */
handle = open("DUMMY.FIL", O_CREAT,
S_IREAD | S_IWRITE);

/* now turn the handle into a stream */
stream = fdopen(handle, "w");

if (stream == NULL)
printf("fdopen failed ");
else
{
fprintf(stream, "Hello world ");
fclose(stream);
}
return 0;
}

 

函数名: feof
功 能: 检测流上的文件结束符
用 法: int feof(FILE *stream);
程序例:

#include

int main(void)
{
FILE *stream;

/* open a file for reading */
stream = fopen("DUMMY.FIL", "r");

/* read a character from the file */
fgetc(stream);

/* check for EOF */
if (feof(stream))
printf("We have reached end-of-file ");

/* close the file */
fclose(stream);
return 0;
}

 

函数名: ferror
功 能: 检测流上的错误
用 法: int ferror(FILE *stream);
程序例:

#include

int main(void)
{
FILE *stream;

/* open a file for writing */
stream = fopen("DUMMY.FIL", "w");

/* force an error condition by attempting to read */
(void) getc(stream);

if (ferror(stream)) /* test for an error on the stream */
{
/* display an error message */
printf("Error reading from DUMMY.FIL ");

/* reset the error and EOF indicators */
clearerr(stream);
}

fclose(stream);
return 0;
}

 


函数名: fflush
功 能: 清除一个流
用 法: int fflush(FILE *stream);
程序例:

#include
#include
#include
#include

void flush(FILE *stream);

int main(void)
{
FILE *stream;
char msg[] = "This is a test";

/* create a file */
stream = fopen("DUMMY.FIL", "w");

/* write some data to the file */
fwrite(msg, strlen(msg), 1, stream);

clrscr();
printf("Press any key to flush
DUMMY.FIL:");
getch();

/* flush the data to DUMMY.FIL without
closing it */
flush(stream);

printf(" File was flushed, Press any key
to quit:");
getch();
return 0;
}

vo

补充:综合编程 , 安全编程 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,