• C语言库函数大全及应用实例十四


                                          [编程资料]C语言库函数大全及应用实例十四

    函数名: strset
    功 能: 将一个串中的所有字符都设为指定字符
    用 法: char *strset(char *str, char c);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    char string[10] = "123456789";
    char symbol = 'c';

    printf("Before strset(): %s\n", string);
    strset(string, symbol);
    printf("After strset(): %s\n", string);
    return 0;
    }

    函数名: strspn
    功 能: 在串中查找指定字符集的子集的第一次出现
    用 法: int strspn(char *str1, char *str2);
    程序例:

    #i nclude
    #i nclude
    #i nclude

    int main(void)
    {
    char *string1 = "1234567890";
    char *string2 = "123DC8";
    int length;

    length = strspn(string1, string2);
    printf("Character where strings differ is at position %d\n", length);
    return 0;
    }

    函数名: strstr
    功 能: 在串中查找指定字符串的第一次出现
    用 法: char *strstr(char *str1, char *str2);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    char *str1 = "Borland International", *str2 = "nation", *ptr;

    ptr = strstr(str1, str2);
    printf("The substring is: %s\n", ptr);
    return 0;
    }

    函数名: strtod
    功 能: 将字符串转换为double型值
    用 法: double strtod(char *str, char **endptr);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    char input[80], *endptr;
    double value;

    printf("Enter a floating point number:");
    gets(input);
    value = strtod(input, &endptr);
    printf("The string is %s the number is %lf\n", input, value);
    return 0;
    }

    函数名: strtok
    功 能: 查找由在第二个串中指定的分界符分隔开的单词
    用 法: char *strtok(char *str1, char *str2);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    char input[16] = "abc,d";
    char *p;

    /* strtok places a NULL terminator
    in front of the token, if found */
    p = strtok(input, ",");
    if (p) printf("%s\n", p);

    /* A second call to strtok using a NULL
    as the first parameter returns a pointer
    to the character following the token */
    p = strtok(NULL, ",");
    if (p) printf("%s\n", p);
    return 0;
    }

    函数名: strtol
    功 能: 将串转换为长整数
    用 法: long strtol(char *str, char **endptr, int base);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    char *string = "87654321", *endptr;
    long lnumber;

    /* strtol converts string to long integer */
    lnumber = strtol(string, &endptr, 10);
    printf("string = %s long = %ld\n", string, lnumber);

    return 0;
    }

    函数名: strupr
    功 能: 将串中的小写字母转换为大写字母
    用 法: char *strupr(char *str);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    char *string = "abcdefghijklmnopqrstuvwxyz", *ptr;

    /* converts string to upper case characters */
    ptr = strupr(string);
    printf("%s\n", ptr);
    return 0;
    }

    函数名: swab
    功 能: 交换字节
    用 法: void swab (char *from, char *to, int nbytes);
    程序例:

    #i nclude
    #i nclude
    #i nclude

    char source[15] = "rFna koBlrna d";
    char target[15];

    int main(void)
    {
    swab(source, target, strlen(source));
    printf("This is target: %s\n", target);
    return 0;
    }

    函数名: system
    功 能: 发出一个DOS命令
    用 法: int system(char *command);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    printf("About to spawn command.com and run a DOS command\n");
    system("dir");
    return 0;
    }


    函数名: tan
    功 能: 正切函数
    用 法: double tan(double x);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    double result, x;

    x = 0.5;
    result = tan(x);
    printf("The tan of %lf is %lf\n", x, result);
    return 0;
    }


    函数名: tanh
    功 能: 双曲正切函数
    用 法: double tanh(double x);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    double result, x;

    x = 0.5;
    result = tanh(x);
    printf("The hyperbolic tangent of %lf is %lf\n", x, result);
    return 0;
    }


    函数名: tell
    功 能: 取文件指针的当前位置
    用 法: long tell(int handle);
    程序例:

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

    int main(void)
    {
    int handle;
    char msg[] = "Hello world";

    if ((handle = open("TEST.$$$", O_CREAT | O_TEXT | O_APPEND)) == -1)
    {
    perror("Error:");
    return 1;
    }
    write(handle, msg, strlen(msg));
    printf("The file pointer is at byte %ld\n", tell(handle));
    close(handle);
    return 0;
    }


    函数名: textattr
    功 能: 设置文本属性
    用 法: void textattr(int attribute);
    程序例:

    #i nclude

    int main(void)
    {
    int i;

    clrscr();
    for (i=0; i<9; i++)
    {
    textattr(i + ((i+1) << 4));
    cprintf("This is a test\r\n");
    }

    return 0;
    }


    函数名: textbackground
    功 能: 选择新的文本背景颜色
    用 法: void textbackground(int color);
    程序例:

    #i nclude

    int main(void)
    {
    int i, j;

    clrscr();
    for (i=0; i<9; i++)
    {
    for (j=0; j<80; j++)
    cprintf("C");
    cprintf("\r\n");
    textcolor(i+1);
    textbackground(i);
    }

    return 0;
    }

    函数名: textcolor
    功 能: 在文本模式中选择新的字符颜色
    用 法: void textcolor(int color);
    程序例:

    #i nclude

    int main(void)
    {
    int i;

    for (i=0; i<15; i++)
    {
    textcolor(i);
    cprintf("Foreground Color\r\n");
    }

    return 0;
    }

    函数名: textheight
    功 能: 返回以像素为单位的字符串高度
    用 法: int far textheight(char far *textstring);
    程序例:

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

    int main(void)
    {
    /* request auto detection */
    int gdriver = DETECT, gmode, errorcode;
    int y = 0;
    int i;
    char msg[80];

    /* initialize graphics and 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 */
    }

    /* draw some text on the screen */
    for (i=1; i<11; i++)
    {
    /* select the text style, direction, and size */
    settextstyle(TRIPLEX_FONT, HORIZ_DIR, i);

    /* create a message string */
    sprintf(msg, "Size: %d", i);

    /* output the message */
    outtextxy(1, y, msg);

    /* advance to the next text line */
    y += textheight(msg);
    }

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


    函数名: textmode
    功 能: 将屏幕设置成文本模式
    用 法: void textmode(int mode);
    程序例:

    #i nclude

    int main(void)
    {
    textmode(BW40);
    cprintf("ABC");
    getch();

    textmode(C40);
    cprintf("ABC");
    getch();

    textmode(BW80);
    cprintf("ABC");
    getch();

    textmode(C80);
    cprintf("ABC");
    getch();

    textmode(MONO);
    cprintf("ABC");
    getch();

    return 0;
    }


    函数名: textwidth
    功 能: 返回以像素为单位的字符串宽度
    用 法: int far textwidth(char far *textstring);
    程序例:

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

    int main(void)
    {
    /* request auto detection */
    int gdriver = DETECT, gmode, errorcode;
    int x = 0, y = 0;
    int i;
    char msg[80];

    /* initialize graphics and 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 */
    }

    y = getmaxy() / 2;

    settextjustify(LEFT_TEXT, CENTER_TEXT);
    for (i=1; i<11; i++)
    {
    /* select the text style, direction, and size */
    settextstyle(TRIPLEX_FONT, HORIZ_DIR, i);

    /* create a message string */
    sprintf(msg, "Size: %d", i);

    /* output the message */
    outtextxy(x, y, msg);

    /* advance to the end of the text */
    x += textwidth(msg);
    }

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

    函数名: time
    功 能: 取一天的时间
    用 法: logn time(long *tloc);
    程序例:

    #i nclude
    #i nclude
    #i nclude

    int main(void)
    {
    time_t t;

    t = time(NULL);
    printf("The number of seconds since January 1, 1970 is %ld",t);
    return 0;
    }


    函数名: tmpfile
    功 能: 以二进制方式打开暂存文件
    用 法: FILE *tmpfile(void);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    FILE *tempfp;

    tempfp = tmpfile();
    if (tempfp)
    printf("Temporary file created\n");
    else
    {
    printf("Unable to create temporary file\n");
    exit(1);
    }

    return 0;
    }

    函数名: tmpnam
    功 能: 创建一个唯一的文件名
    用 法: char *tmpnam(char *sptr);
    程序例:

    #i nclude

    int main(void)
    {
    char name[13];

    tmpnam(name);
    printf("Temporary name: %s\n", name);
    return 0;
    }

    函数名: tolower
    功 能: 把字符转换成小写字母
    用 法: int tolower(int c);
    程序例:

    #i nclude
    #i nclude
    #i nclude

    int main(void)
    {
    int length, i;
    char *string = "THIS IS A STRING";

    length = strlen(string);
    for (i=0; i
    {
    string[i] = tolower(string[i]);
    }
    printf("%s\n",string);

    return 0;
    }

    函数名: toupper
    功 能: 把字符转换成大写字母
    用 法: int toupper(int c);
    程序例:

    #i nclude
    #i nclude
    #i nclude

    int main(void)
    {
    int length, i;
    char *string = "this is a string";

    length = strlen(string);
    for (i=0; i
    {
    string[i] = toupper(string[i]);
    }

    printf("%s\n",string);

    return 0;
    }

    函数名: tzset
    功 能: UNIX时间兼容函数
    用 法: void tzset(void);
    程序例:

    #i nclude
    #i nclude
    #i nclude

    int main(void)
    {
    time_t td;

    putenv("TZ=PST8PDT");
    tzset();
    time(&td);
    printf("Current time = %s\n", asctime(localtime(&td)));
    return 0;
    }


    函数名: ultoa
    功 能: 转换一个无符号长整型数为字符串
    用 法: char *ultoa(unsigned long value, char *string, int radix);
    程序例:

    #i nclude
    #i nclude

    int main( void )
    {
    unsigned long lnumber = 3123456789L;
    char string[25];

    ultoa(lnumber,string,10);
    printf("string = %s unsigned long = %lu\n",string,lnumber);

    return 0;
    }

    函数名: ungetc
    功 能: 把一个字符退回到输入流中
    用 法: int ungetc(char c, FILE *stream);
    程序例:

    #i nclude
    #i nclude

    int main( void )
    {
    int i=0;
    char ch;

    puts("Input an integer followed by a char:");

    /* read chars until non digit or EOF */
    while((ch = getchar()) != EOF && isdigit(ch))
    i = 10 * i + ch - 48; /* convert ASCII into int value */

    /* if non digit char was read, push it back into input buffer */
    if (ch != EOF)
    ungetc(ch, stdin);

    printf("i = %d, next char in buffer = %c\n", i, getchar());
    return 0;
    }


    函数名: ungetch
    功 能: 把一个字符退回到键盘缓冲区中
    用 法: int ungetch(int c);
    程序例:

    #i nclude
    #i nclude
    #i nclude

    int main( void )
    {
    int i=0;
    char ch;

    puts("Input an integer followed by a char:");

    /* read chars until non digit or EOF */
    while((ch = getche()) != EOF && isdigit(ch))
    i = 10 * i + ch - 48; /* convert ASCII into int value */

    /* if non digit char was read, push it back into input buffer */
    if (ch != EOF)
    ungetch(ch);

    printf("\n\ni = %d, next char in buffer = %c\n", i, getch());
    return 0;
    }

    函数名: unixtodos
    功 能: 把日期和时间转换成DOS格式
    用 法: void unixtodos(long utime, struct date *dateptr,
    struct time *timeptr);
    程序例:

    #i nclude
    #i nclude

    char *month[] = {"---", "Jan", "Feb", "Mar", "Apr", "May", "Jun",
    "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};

    #define SECONDS_PER_DAY 86400L /* the number of seconds in one day */

    struct date dt;
    struct time tm;

    int main(void)
    {
    unsigned long val;

    /* get today's date and time */
    getdate(&dt);
    gettime(&tm);
    printf("today is %d %s %d\n", dt.da_day, month[dt.da_mon], dt.da_year);

    /* convert date and time to unix format (number of seconds since Jan 1, 1970 */
    val = dostounix(&dt, &tm);
    /* subtract 42 days worth of seconds */
    val -= (SECONDS_PER_DAY * 42);

    /* convert back to dos time and date */
    unixtodos(val, &dt, &tm);
    printf("42 days ago it was %d %s %d\n",
    dt.da_day, month[dt.da_mon], dt.da_year);
    return 0;
    }

    函数名: unlink
    功 能: 删掉一个文件
    用 法: int unlink(char *filename);
    程序例:

    #i nclude
    #i nclude

    int main(void)
    {
    FILE *fp = fopen("junk.jnk","w");
    int status;

    fprintf(fp,"junk");

    status = access("junk.jnk",0);
    if (status == 0)
    printf("File exists\n");
    else
    printf("File doesn't exist\n");

    fclose(fp);
    unlink("junk.jnk");
    status = access("junk.jnk",0);
    if (status == 0)
    printf("File exists\n");
    else
    printf("File doesn't exist\n");

    return 0;
    }

    函数名: unlock
    功 能: 解除文件共享锁
    用 法: int unlock(int handle, long offset, long length);
    程序例:

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

    int main(void)
    {
    int handle, status;
    long length;

    handle = sopen("c:\\autoexec.bat",O_RDONLY,SH_DENYNO,S_IREAD);

    if (handle < 0)
    {
    printf("sopen failed\n");
    exit(1);
    }

    length = filelength(handle);
    status = lock(handle,0L,length/2);

    if (status == 0)
    printf("lock succeeded\n");
    else
    printf("lock failed\n");

    status = unlock(handle,0L,length/2);

    if (status == 0)
    printf("unlock succeeded\n");
    else
    printf("unlock failed\n");

    close(handle);
    return 0;
    }


    函数名: vfprintf
    功 能: 送格式化输出到一流中
    用 法: int vfprintf(FILE *stream, char *format, va_list param);
    程序例:

    #i nclude
    #i nclude
    #i nclude

    FILE *fp;

    int vfpf(char *fmt, ...)
    {
    va_list argptr;
    int cnt;

    va_start(argptr, fmt);
    cnt = vfprintf(fp, fmt, argptr);
    va_end(argptr);

    return(cnt);
    }

    int main(void)
    {
    int inumber = 30;
    float fnumber = 90.0;
    char string[4] = "abc";

    fp = tmpfile();
    if (fp == NULL)
    {
    perror("tmpfile() call");
    exit(1);
    }

    vfpf("%d %f %s", inumber, fnumber, string);
    rewind(fp);
    fscanf(fp,"%d %f %s", &inumber, &fnumber, string);
    printf("%d %f %s\n", inumber, fnumber, string);
    fclose(fp);

    return 0;
    }

    函数名: vfscanf
    功 能: 从流中执行格式化输入
    用 法: int vfscanf(FILE *stream, char *format, va_list param);
    程序例:

    #i nclude
    #i nclude
    #i nclude

    FILE *fp;

    int vfsf(char *fmt, ...)
    {
    va_list argptr;
    int cnt;

    va_start(argptr, fmt);
    cnt = vfscanf(fp, fmt, argptr);
    va_end(argptr);

    return(cnt);
    }

    int main(void)
    {
    int inumber = 30;
    float fnumber = 90.0;
    char string[4] = "abc";

    fp = tmpfile();
    if (fp == NULL)
    {
    perror("tmpfile() call");
    exit(1);
    }
    fprintf(fp,"%d %f %s\n",inumber,fnumber,string);
    rewind(fp);

    vfsf("%d %f %s",&inumber,&fnumber,string);
    printf("%d %f %s\n",inumber,fnumber,string);
    fclose(fp);

    return 0;
    }

    函数名: vprintf
    功 能: 送格式化输出到stdout中
    用 法: int vprintf(char *format, va_list param);
    程序例:

    #i nclude
    #i nclude

    int vpf(char *fmt, ...)
    {
    va_list argptr;
    int cnt;

    va_start(argptr, format);
    cnt = vprintf(fmt, argptr);
    va_end(argptr);

    return(cnt);
    }

    int main(void)
    {
    int inumber = 30;
    float fnumber = 90.0;
    char *string = "abc";

    vpf("%d %f %s\n",inumber,fnumber,string);

    return 0;
    }

    函数名: vscanf
    功 能: 从stdin中执行格式化输入
    用 法: int vscanf(char *format, va_list param);
    程序例:

    #i nclude
    #i nclude
    #i nclude

    int vscnf(char *fmt, ...)
    {
    va_list argptr;
    int cnt;

    printf("Enter an integer, a float, and a string (e.g. i,f,s,)\n");
    va_start(argptr, fmt);
    cnt = vscanf(fmt, argptr);
    va_end(argptr);

    return(cnt);
    }

    int main(void)
    {
    int inumber;
    float fnumber;
    char string[80];

    vscnf("%d, %f, %s", &inumber, &fnumber, string);
    printf("%d %f %s\n", inumber, fnumber, string);

    return 0;
    }

    函数名: vsprintf
    功 能: 送格式化输出到串中
    用 法: int vsprintf(char *string, char *format, va_list param);
    程序例:

    #i nclude
    #i nclude
    #i nclude

    char buffer[80];

    int vspf(char *fmt, ...)
    {
    va_list argptr;
    int cnt;

    va_start(argptr, fmt);
    cnt = vsprintf(buffer, fmt, argptr);
    va_end(argptr);

    return(cnt);
    }

    int main(void)
    {
    int inumber = 30;
    float fnumber = 90.0;
    char string[4] = "abc";

    vspf("%d %f %s", inumber, fnumber, string);
    printf("%s\n", buffer);
    return 0;
    }

    函数名: vsscanf
    功 能: 从流中执行格式化输入
    用 法: int vsscanf(char *s, char *format, va_list param);
    程序例:

    #i nclude
    #i nclude
    #i nclude

    char buffer[80] = "30 90.0 abc";

    int vssf(char *fmt, ...)
    {
    va_list argptr;
    int cnt;

    fflush(stdin);

    va_start(argptr, fmt);
    cnt = vsscanf(buffer, fmt, argptr);
    va_end(argptr);

    return(cnt);
    }

    int main(void)
    {
    int inumber;
    float fnumber;
    char string[80];

    vssf("%d %f %s", &inumber, &fnumber, string);
    printf("%d %f %s\n", inumber, fnumber, string);
    return 0;
    }

    函数名: wherex
    功 能: 返回窗口内水平光标位置
    用 法: int wherex(void);
    程序例:

    #i nclude

    int main(void)
    {
    clrscr();
    gotoxy(10,10);
    cprintf("Current location is X: %d Y: %d\r\n", wherex(), wherey());
    getch();

    return 0;
    }


    函数名: wherey
    功 能: 返回窗口内垂直光标位置
    用 法: int wherey(void);
    程序例:

    #i nclude

    int main(void)
    {
    clrscr();
    gotoxy(10,10);
    cprintf("Current location is X: %d Y: %d\r\n", wherex(), wherey());
    getch();

    return 0;
    }

    函数名: window
    功 能: 定义活动文本模式窗口
    用 法: void window(int left, int top, int right, int bottom);
    程序例:

  • 相关阅读:
    Element filtername is not allowed here-web.xml version="3.0"-intellij idea
    探究JavaScript闭包
    telnet的安装和使用
    Oracle数据库常用的sql语句
    centos6上安装jenkins
    idea的maven项目不知道为啥下载不下来jar包,看本地仓库只是下载了一下xml文件,没有jar包问题
    Oracle数据库使用mybatis的时候,实体类日期为Date类型,mybatis里面定义的是Date类型,插入的时候,时分秒全部是12:00:00问题
    maven打包某个分支的包
    maven打包到私服,打的是war包,好郁闷
    多线程初学习
  • 原文地址:https://www.cnblogs.com/jimeper/p/304976.html
Copyright © 2020-2023  润新知