注册 | 登录
收藏 | 帮助
热门文章
编辑推荐
相关文章  
用ASP语言实现对SQL SERVER 数据
Linux Shadow-Password-HOWTO - 
我用c语言写了一个关于商人过河的
DELPHI和FORTRAN语言的混合编程(
一个小语言的词法分析程序原理及
一个小语言的词法分析程序原理及
用VC++打造有多语言菜单的应用程
在vc++系统中编译和运行c语言
SQL语言基本教程(一)
SQL查询语言基本教程(2)
您现在的位置: 顶尖设计 >> IT学院 >> 编程开发 >> C >> 文章正文
C语言库函数(F类字母)
作者:佚名  来源:不详  点击:  更新:2006-12-19
简介:
函数名: fabs
功 能: 返回浮点数的绝对值
用 法: double fabs(double x);
程序例:
#include <stdio.h>
#include <math.h>

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

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




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

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\n", fptr);

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

return 0;
}




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

#include <stdio.h>
#include <alloc.h>

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

return 0;
}




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

#include <stdio.h>
#include <alloc.h>
#include <string.h>
#include <dos.h>

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't 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\n", fptr);

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

return 0;
}




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

#include <stdio.h>
#include <alloc.h>
#include <string.h>
#include <dos.h>

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\n", fptr);

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

return 0;
}




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

#include <stdio.h>
#include <alloc.h>

int main(void)
{
char far *fptr;

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



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

#include <string.h>
#include <stdio.h>

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 <stdio.h>

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.\n", streams_closed);

return 0;
}



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

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

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\n", string, dec, sign);

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


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

return 0;
}




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

#include <sys\stat.h>
#include <stdio.h>
#include <fcntl.h>
#include <io.h>

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\n");
else
{
fprintf(stream, "Hello world\n");
fclose(stream);
}
return 0;
}



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

#include <stdio.h>

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\n");

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



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

#include <stdio.h>

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\n");

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

fclose(stream);
return 0;
}




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

#include <string.h>
#include <stdio.h>
#include <conio.h>
#include <io.h>

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("\nFile was flushed, Press any key\
to quit:");
getch();
return 0;
}

void flush(FILE *stream)
{
int duphandle;

/* flush the stream's internal buffer */
fflush(stream);

/* make a duplicate file handle */
duphandle = dup(fileno(stream));

/* close the duplicate handle to flush\
the DOS buffer */
close(duphandle);
}




函数名: fgetc
功 能: 从流中读取字符
用 法: int fgetc(FILE *stream);
程序例:

#include <string.h>
#include <stdio.h>
#include <conio.h>

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

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

/* write a string into the file */
fwrite(string, strlen(string), 1, stream);

/* seek to the beginning of the file */
fseek(stream, 0, SEEK_SET);

do
{
/* read a char from the file */
ch = fgetc(stream);

/* display the character */
putch(ch);
} while (ch != EOF);

fclose(stream);
return 0;
}




函数名: fgetchar
功 能: 从流中读取字符
用 法: int fgetchar(void);
程序例:

#include <stdio.h>

int main(void)
{
char ch;

/* prompt the user for input */
printf("Enter a character followed by \
<Enter>: ");

/* read the character from stdin */
ch = fgetchar();

/* display what was read */
printf("The character read is: '%c'\n",
ch);
return 0;
}




函数名: fgetpos
功 能: 取得当前文件的句柄
用 法: int fgetpos(FILE *stream);
程序例:

#include <string.h>
#include <stdio.h>

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

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

/* write a string into the file */
fwrite(string, strlen(string), 1, stream);

/* report the file po

[1] [2] [3] 下一页






  • 上一篇文章:
  • 下一篇文章:
  • 分享此文:该页面添加到 Mister Wong 添加到雅虎Yahoo!收藏 Add to:Del.icio.us Post to Furl Digg this 添加到Google书签 reddit spurl blogmarks 365Key 评论  收藏  分享  打印
     我来说两句
    姓名:       验证码:   
    主页: 
    评分: 1分 2分 3分 4分 5分
    本频道近期热评文章:
      关于我们 | 联系我们 | 站点地图 | 广告投放 | 友情链接 | 在线留言 | 版权申明
    版权所有 © 2004-2007 顶尖设计(bobd.cn)
    未经授权禁止转载,摘编,复制本站内容或建立镜像. 沪ICP备07504942号 
    网络110
    报警服务