zoukankan      html  css  js  c++  java
  • C语言库函数大全及应用实例三


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

    #i nclude
    #i nclude
    #i nclude

    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;
    }

    函数名: ellipse
    功 能: 画一椭圆
    用 法: void far ellipse(int x, int y, int stangle, int endangle,
    int xradius, int yradius);
    程序例:

    #i nclude
    #i nclude
    #i nclude
    #i nclude

    int main(void)
    {
    /* request auto detection */
    int gdriver = DETECT, gmode, errorcode;
    int midx, midy;
    int stangle = 0, endangle = 360;
    int xradius = 100, yradius = 50;

    /* initialize graphics, local variables */
    initgraph(&gdriver, &gmode, "");

    /* read result of initialization */
    errorcode = graphresult();
    if (errorcode != grOk)
    /* an error occurred */
    {
    printf("Graphics error: %s\n",
    grapherrormsg(errorcode));
    printf("Press any key to halt:");
    getch();
    exit(1);
    /* terminate with an error code */
    }

    midx = getmaxx() / 2;
    midy = getmaxy() / 2;
    setcolor(getmaxcolor());

    /* draw ellipse */
    ellipse(midx, midy, stangle, endangle,
    xradius, yradius);

    /* clean up */
    getch();
    closegraph();
    return 0;
    }

    函数名: enable
    功 能: 开放硬件中断
    用 法: void enable(void);
    程序例:

    /* ** NOTE:
    This is an interrupt service routine. You can NOT compile this program
    with Test Stack Overflow turned on and get an executable file which will
    operate correctly.
    */

    #i nclude
    #i nclude
    #i nclude

    /* The clock tick interrupt */
    #define INTR 0X1C

    void interrupt ( *oldhandler)(void);

    int count=0;

    void interrupt handler(void)
    {
    /*
    disable interrupts during the handling of the interrupt
    */
    disable();
    /* increase the global counter */
    count++;
    /*
    re enable interrupts at the end of the handler
    */
    enable();
    /* call the old routine */
    oldhandler();
    }

    int main(void)
    {
    /* save the old interrupt vector */
    oldhandler = getvect(INTR);

    /* install the new interrupt handler */
    setvect(INTR, handler);

    /* loop until the counter exceeds 20 */
    while (count < 20)
    printf("count is %d\n",count);

    /* reset the old interrupt handler */
    setvect(INTR, oldhandler);

    return 0;
    }

    函数名: eof
    功 能: 检测文件结束
    用 法: int eof(int *handle);
    程序例:

    #i nclude
    #i nclude
    #i nclude
    #i nclude
    #i nclude

    int main(void)
    {
    int handle;
    char msg[] = "This is a test";
    char ch;

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

    /* write some data to the file */
    write(handle, msg, strlen(msg));

    /* seek to the beginning of the file */
    lseek(handle, 0L, SEEK_SET);

    /*
    reads chars from the file until hit EOF
    */
    do
    {
    read(handle, &ch, 1);
    printf("%c", ch);
    } while (!eof(handle));

    close(handle);
    return 0;
    }

    函数名: exec...
    功 能: 装入并运行其它程序的函数
    用 法: int execl(char *pathname, char *arg0, arg1, ..., argn, NULL);
    int execle(char *pathname, char *arg0, arg1, ..., argn, NULL,
    char *envp[]);
    int execlp(char *pathname, char *arg0, arg1, .., NULL);
    int execple(char *pathname, char *arg0, arg1, ..., NULL,
    char *envp[]);
    int execv(char *pathname, char *argv[]);
    int execve(char *pathname, char *argv[], char *envp[]);
    int execvp(char *pathname, char *argv[]);
    int execvpe(char *pathname, char *argv[], char *envp[]);
    程序例:

    /* execv example */
    #i nclude
    #i nclude
    #i nclude

    void main(int argc, char *argv[])
    {
    int i;

    printf("Command line arguments:\n");
    for (i=0; i
    printf("[%2d] : %s\n", i, argv[i]);

    printf("About to exec child with arg1 arg2 ...\n");
    execv("CHILD.EXE", argv);

    perror("exec error");

    exit(1);
    }

    函数名: exit
    功 能: 终止程序
    用 法: void exit(int status);
    程序例:

    #i nclude
    #i nclude
    #i nclude

    int main(void)
    {
    int status;

    printf("Enter either 1 or 2\n");
    status = getch();
    /* Sets DOS errorlevel */
    exit(status - '0');

    /* Note: this line is never reached */
    return 0;
    }

    函数名: exp
    功 能: 指数函数
    用 法: double exp(double x);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    double result;
    double x = 4.0;

    result = exp(x);
    printf("'e' raised to the power \
    of %lf (e ^ %lf) = %lf\n",
    x, x, result);

    return 0;
    }

    double fabs(double x);

    返回双精度x的绝对值。


    void far *farcalloc(unsigned long nunits,unsigned long unitsz);

    堆中给含有nu从远nits个元素的,每个元素占用unitsz个字节长的数组分配存贮区。
    成功是返回指向新分配的内存块的指针;若存贮空间不够,返回NULL。

     

    unsigned long farcoreleft(void);

    返回远堆中未用存贮区的大小。


    void farfree(void far *block);

    释放远堆中以前所分配内存块。


    void far *farmalloc(unsigned long nbytes);

    从远堆分配长nbytes字节的内存块,返回新地址。


    void far *farrealloc(void far *oldblock,unsigned long nbytes);

    调整已分配的内存块的大小为nbytes。需要的话,可把块中的内容复制到新位置。要注意:所有的可用的RAM可被分配,大于64K的块可被分配。
    远指针用于存取被分配的块。返回重新分配的内存块的地址。若存贮块重新分配失败,返回NULL。

    struct fcb {

    char fcb_drive; /* 0 = default, 1 = A, 2 = B */

    char fcb_name[8]; /* File name */

    char fcb_ext[3]; /* File extension */

    short fcb_curblk; /* Current block number */

    short fcb_recsize; /* Logical record size in bytes */

    long fcb_filsize; /* File size in bytes */

    short fcb_date; /* Date file was last written */

    char fcb_resv[10]; /* Reserved for DOS */

    char fcb_currec; /* Current record in block */

    long fcb_random; /* Random record number */

    };

     

    int fclose(FILE *stream);

    关闭一个流。

    成功返回0;失败是返回EOF。

    int fcloseall(void);

    关闭所有打开的流,除了stdin,stdout,stdprn,stderr和stdaux。

     

    char *fcvt(double value,int ndig,int *dec,int *sign);

    把浮点数转换成字符串,把浮点数value转换成长度为ndig的以空字符终结的字符串,返回一个指向这个字符串的指针,相对于串的开始处,
    小数点的位置,由dec间接存贮,dec若为负值,表示小数点在返回的字符串的左边。返回的字符串本身不带小数点。如果value的符号为负,由sign指向的值非零;否则它是零。

     

    FILE *fdopen(int handle,char *type);

    把流与一个文件描述字相联系地打开。fdopen使流stream与一个从creat,dup,dup2或open得到的文件描述字相联系。流的类型type必须与打开文件描述字handle的模式相匹配。

    类型字符串type可以是下列值之一:

    r,打开用于只读;

    w,创建用于写;

    a,打开用于写在原有内容后面,文件不存在时创建用于写;

    r+,打开已存在的文件用于更新(读和写);

    a+,添加打开,文件不存在时创建,在末尾更新。成功时返回新打开的流。出错时返回NULL。

     

    int feof(FILE *stream);

    测试所给stream的文件尾标记的宏。

    若检测到文件尾标记EOF或Ctrl-z返回非零值;否则,返回0。


    #i nclude

    int ferror(FILE *stream);

    测试给定流读写错误的宏。

    若检测到给定流上的错误返回非0值。

    struct ffblk {

    char ff_reserved[21];

    char ff_attrib;

    unsigned ff_ftime;

    unsigned ff_fdate;

    long ff_fsize;

    char ff_name[13];

    };

     

    int fflush(FILE *stream);

    清除输入流的缓冲区,使它仍然打开,并把输出流的缓冲区的内容写入它所联系的文件中。成功时返回0,出错时返回EOF。

     

    int fgetc(FILE *stream);

    从流中读取下一个字符。

    成功是返回输入流中的下一个字符;至文件结束或出错时返回EOF。


    int fgetchar(void);

    从标准输入流中读取字符,时定义为getc(stdin)的宏。
    返回输入流stdin中的下一个字符,它已被转换成为无符号扩展的整形值。遇到出错或文件结束时返回EOF。

    int fgetpos(FILE stream,fpos_t *pos);

    取得当前文件指针。

    fgetpos把与stream相联系的文件指针的位置保存在pos所指的地方。

    其中,类型fpos_t在stdio.h中定义为

    typeddf long fpos_t;

    成功时返回0;失败时,返回非0值。

     

    char *fgets(char *s,int n,FILE *stream);

    成行读。

    从流stream读n-1个字符,或遇换行符'\n'为止,把读出的内容,存入s中。与gets不同,fgets在s未尾保留换行符。一个空字节被加入到s,用来标记串的结束。
    成功时返回s所指的字符串;在出错或遇到文件结束时返回NULL。

     

    long filelength(int handle);

    返回与handle相联系的文件长度的字节数,出错时返回-1L。

     

    int fileno(FILE *stream);

    返回与stream相联系的文件描述字

     

    int fileno(FILE *stream);

    返回与stream相联系的文件描述字。


    enum fill_patterns { /* Fill patterns for get/setfillstyle */

    0 EMPTY_FILL, /* fills area in background color */

    1 SOLID_FILL, /* fills area in solid fill color */

    2 LINE_FILL, /* --- fill */

    3 LTSLASH_FILL, /* /// fill */

    4 SLASH_FILL, /* /// fill with thick lines */

    5 BKSLASH_FILL, /* \\\ fill with thick lines */

    6 LTBKSLASH_FILL, /* \\\ fill */

    7 HATCH_FILL, /* light hatch fill */

    8 XHATCH_FILL, /* heavy cross hatch fill */

    9 INTERLEAVE_FILL, /* interleaving line fill */

    10 WIDE_DOT_FILL, /* Widely spaced dot fill */

    11 CLOSE_DOT_FILL, /* Closely spaced dot fill */

    12 USER_FILL /* user defined fill */

     

    void far fillellipse(int x,int y,int xradius,int yradius);

    画一填充椭圆。
    以(x,y)为中心,以xradius和yradius为水平和垂直半轴,用当前颜色画边线,画一椭圆,用当前填充颜色和填充方式填充。

     

    int findfirst(const char *pathname,struct ffblk *ffblk,int attrib);

    搜索磁盘目录。开始通过DOS系统调用0x4E对磁盘目录进行搜索。pathname中可含有要找的盘区路径文件名。
    文件名中可含有通配符(如*或?)。如果找到了匹配的文件,把文件目录信息填入ffblk结构。

    attrib是MS-DOS的文件属性字节,用于在搜索过程中选择符合条件的文件。
    attrib可以是在dos.h中定义的下列可取值之一:FA_RDONLY,只读;FA_HIDDEN隐藏;FA_SYSTEM系统文件;FA_LABEL卷标;FA_DIREC,目录;FA_ARCH,档案.可参考>.

    结构ffblk的格式如下:

    struct ffblk{

    char ff_reserved[21}; /*由DOS保留*/

    char ff_attrib; /*属性查找*/

    int ff_ftime; /*文件时间*/

    int f_fdate; /*文件日期*/

    long ff_fsize; /*文件大小*/

    char ff_name[13}; /*找到的文件名*/

    在成功的地找到了与搜索路径pathname相匹配的文件名后返回0;否则返回-1。

     

    int findnext(xtruct ffblk *ffblk);继续按findfirst的pathname搜索磁盘目录。

    成功地找到了与搜索路径pathname相匹配的后续文件名后返回0;否则返回-1。

     

    void far floodfill(int x,int y, int border);

    填充一个有界的区域。

     

    double floor(double x);

    返回〈=x的用双精度浮点数表示的最大整数。


    int flushall(void);

    清除所有缓冲区。

    清除所有与打开输入流相联系的缓冲区,并把所有和打开输出流相联系的缓冲区的内容写入到各自的文件中,跟在flushall后面的读操作,从输入文件中读新数据到缓冲区中。
    返回一个表示打开输入流和输出流总数的整数。

    人生有三宝:终身运动,终身学习,终身反醒.吸收新知,提高效率,懂得相处,成就自己,也成就他人,创造最高价值。
  • 相关阅读:
    [转]c#的DateTime.Now函数详解
    PHP学习笔记
    【错误】MsDepSvc.exe 站用了80端口/IIS的0×8ffe2740错误解决方
    IIS连接数
    Mybatis3.2.1整合Spring3.1
    linux常用命令大全
    Spring3.2新注解@ControllerAdvice
    SpringMVC强大的数据绑定(2)——第六章 注解式控制器详解
    Console命令详解,让调试js代码变得更简单
    String.format
  • 原文地址:https://www.cnblogs.com/jimeper/p/304910.html
Copyright © 2011-2022 走看看