精华内容
下载资源
问答
  • C语言库函数源代码

    2013-02-23 17:14:16
    C语言库函数源代码。希望可以帮助到大家。
  • C语言库函数源代码.doc
  • C语言库函数源代码.rar
  • c语言库函数源代码

    2014-07-02 15:37:43
    里面包含啦几乎所有的c语言库函数 值得学习一下 敬请您的下载
  • C语言库函数源代码文件

    热门讨论 2010-01-31 10:31:46
    本人在Microsoft visual studio 2005里找到的C语言库函数源代码文件,里面包含C头文件。
  • C语言库函数源代码.rar //没事多看看源码//少听些人在那边扯淡//
  • C语言库函数源代码 比较实用。便及时查阅。
  • 软件标签:c语言库函数c语言编程学习软件c语言库函数源代码是一款非常好用的c语言学习帮助工具,可以让用户更好的了解到c语言库函数的实用方式,非常简单的举列说明,更多精彩内容尽在当易网,喜欢就来下载体验一番吧...

    软件标签:

    c语言库函数

    c语言

    编程学习软件

    c语言库函数源代码是一款非常好用的c语言学习帮助工具,可以让用户更好的了解到c语言库函数的实用方式,非常简单的举列说明,更多精彩内容尽在当易网,喜欢就来下载体验一番吧,为你的编程学习保驾护航!

    c语言库函数详解简介:

    c语言库函数,采用文本文件格式,方便阅读.函数库中的函数按照字母排序,每个在介绍的时候都包括以下几个部分:函数名/功能/用法/程序举例,非常便于掌握.

    9d361ca03d359cd1ebfb2929e5b29e1b.png

    简介:

    在编写需要命令行参数的c程序的时候,往往我们需要先解析命令行参数,然后根据这些参数来启动我们的程序。

    c的库函数中提供了两个函数可以用来帮助我们解析命令行参数:getopt、getopt_long。

    getopt可以解析短参数,所谓短参数就是指选项前只有一个“-”(如-t),而getopt_long则支持短参数跟长参数(如"--prefix")。

    特色:

    getopt函数

    各参数的意义:

    argc:通常为main函数中的argc

    argv:通常为main函数中的argv

    optstring:用来指定选项的内容(如:"ab:c"),它由多个部分组成,表示的意义分别为:

    1.单个字符,表示选项。

    2 单个字符后接一个冒号:表示该选项后必须跟一个参数。参数紧跟在选项后或者以空格隔开。该参数的指针赋给optarg。

    3 单个字符后跟两个冒号,表示该选项后可以跟一个参数,也可以不跟。如果跟一个参数,参数必须紧跟在选项后不能以空格隔开。该参数的指针赋给optarg。

    getopt_long函数

    与getopt不同的是,getopt_long还支持长参数。

    前三个参数跟getopt函数一样(解析到短参数时返回值跟getopt一样),而长参数的解析则与longopts参数相关

    解压密码:www.downyi.com

    展开全文
  • 网上要找这个可不好找啊,所以,上传一个方便大家免费下载,不要分。 分享才是网络
  • 本文由gj356贡献 doc文档可能在WAP端浏览体验不佳建议您优先选择TXT或下载源文件到本机查看 C 语言库函数源代码 本程序在 Dev C++ 下编译通过 #include /* 这个函数调用的是库函数中的 strtol)函数关于这个函数的 源...
  • C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/*这个函数是把浮点数字符串转换为浮点数的函数。函数将会跳过字符串中的空格字符和不是'+'、'-'、'.'、数字的字符。如果字符串是空的或者都是由空格...

    【C语言库函数源代码】

    【本程序在Dev C++ 4.9.9.2 下编译通过】

    /*

    这个函数是把浮点数字符串转换为浮点数的函数。

    函数将会跳过字符串中的空格字符和不是'+'、'-'、'.'、

    数字的字符。如果字符串是空的或者都是由空格组成,将不会

    做任何转换,仅仅是把字符串的结束地址赋给endptr。如果字

    符串合法,将会进行转换,并把字符串最后的NULL的地址给

    endptr。如果你想使用endptr参数,那么赋一个NULL值就

    可以了。

    */

    doublemy_strtod(const char* s, char**

    endptr)

    {

    register const char*p=

    s;

    register long doublevalue = 0.L;

    intsign= 0;

    long doublefactor;

    unsigned intexpo;

    while (

    isspace(*p) )//跳过前面的空格

    p++;

    if(*p ==

    '-' || *p == '+')

    sign = *p++;//把符号赋给字符sign,指针后移。

    //处理数字字符

    while ( (unsigned int)(*p -

    '0') < 10u )//转换整数部分

    value = value*10 + (*p++ - '0');

    //如果是正常的表示方式(如:1234.5678)

    if ( *p ==

    '.' )

    {

    factor = 1.;

    p++;

    while (

    (unsigned int)(*p

    - '0') < 10u )

    {

    factor

    *= 0.1;

    value+= (*p++ - '0') * factor;

    }

    }

    //如果是IEEE754标准的格式(如:1.23456E+3)

    if ( (*p |

    32) == 'e' )

    {

    expo= 0;

    factor = 10.L;

    switch

    (*++p)

    {

    case

    '-':

    factor = 0.1;

    case

    '+':

    p++;

    break;

    case

    '0':

    case

    '1':

    case

    '2':

    case

    '3':

    case

    '4':

    case

    '5':

    case

    '6':

    case

    '7':

    case

    '8':

    case

    '9':

    break;

    default

    :

    value = 0.L;

    p= s;

    goto

    done;

    }

    while (

    (unsigned int)(*p

    - '0') < 10u )

    expo = 10 * expo + (*p++ - '0');

    while (

    1 )

    {

    if (

    expo & 1 )

    value *= factor;

    if

    ( (expo >>= 1) == 0 )

    break;

    factor *= factor;

    }

    }

    done:

    if ( endptr

    != 0 )

    *endptr = (char*)p;

    return

    (sign == '-' ? -value : value);

    }

    doublemy_atof(char *str)

    {

    return

    my_strtod(str,0);

    }

    intmain()

    {

    char * str =

    "12345.6789";

    printf("%f\n",my_strtod(str,0));

    printf("%f\n",my_atof(str));

    str = "-12345.6789";

    printf("%f\n",my_strtod(str,0));

    printf("%f\n",my_atof(str));

    str = "9.8546721E+4";

    printf("%f\n",my_strtod(str,0));

    printf("%f\n",my_atof(str));

    str = "-985467.21e-4";

    printf("%f\n",my_strtod(str,0));

    printf("%f\n",my_atof(str));

    system("pause");

    return 0;

    }

    展开全文
  • 超星格式,C++库函数源代码分析书籍,对底层编程及嵌入式编程都有一定的参考价值。
  • C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/*将浮点数x分解成整数部分和小数部分。返回小数部分,将整数部分存入* iptr所指内存中。*/doublemy_modf01(double x, double *iptr){double ret =fmod...

    【C语言库函数源代码】

    【本程序在Dev C++ 4.9.9.2 下编译通过】

    /*

    将浮点数x分解成整数部分和小数部分。

    返回小数部分,将整数部分存入* iptr所指内存中。

    */

    doublemy_modf01(double x, double *iptr)

    {

    double ret =

    fmod(x,1.0);

    *iptr = x - ret;

    return ret;

    }//这个函数算法比较简单,也容易让人理解。

    //下面的这个函数理解起来就有点困难了。

    typedefstruct

    {

    unsigned int mantissal:32;

    unsigned int mantissah:20;

    unsigned int exponent:11;

    unsigned int sign:1;

    }double_t;//这个结构体在IEEE.h定义。

    doublemy_modf02(double x, double *y)

    {

    double_t * z = (double_t *)&x;

    double_t * iptr = (double_t *)y;

    int j0;

    unsigned int i;

    j0 = z->exponent - 0x3ff;/* exponent of x */

    if(j0<20)

    {/* integer part in

    high x */

    if(j0<0)

    {/*

    |x|<1 */

    *y = 0.0;

    iptr->sign = z->sign;

    return

    x;

    }

    else

    {

    if (

    z->mantissah == 0 && z->mantissal == 0 )

    {

    *y = x;

    return

    0.0;

    }

    i = (0x000fffff)>>j0;

    iptr->sign = z->sign;

    iptr->exponent = z->exponent;

    iptr->mantissah =

    z->mantissah&(~i);

    iptr->mantissal = 0;

    if ( x

    == *y )

    {

    x = 0.0;

    z->sign = iptr->sign;

    return

    x;

    }

    return x - *y;

    }

    }

    else if (j0>51)

    {/* no fraction part */

    *y = x;

    if (

    isnan(x) || isinf(x) )

    return

    x;

    x = 0.0;

    z->sign = iptr->sign;

    return x;

    }

    else

    {/* fraction part in low x */

    i = ((unsigned)(0xffffffff))>>(j0-20);

    iptr->sign = z->sign;

    iptr->exponent = z->exponent;

    iptr->mantissah = z->mantissah;

    iptr->mantissal =

    z->mantissal&(~i);

    if ( x ==

    *y )

    {

    x = 0.0;

    z->sign = iptr->sign;

    return

    x;

    }

    return x -

    *y;

    }

    }

    //下面是两个要用到的函数

    intisnan(double d)

    {

    union

    {

    unsigned long long l;

    double d;

    } u;

    u.d=d;

    return

    (u.l==0x7FF8000000000000ll || u.l==0x7FF0000000000000ll ||

    u.l==0xfff8000000000000ll);

    }

    intisinf(double d)

    {

    union

    {

    unsigned long long l;

    double d;

    } u;

    u.d=d;

    return

    (u.l==0x7FF0000000000000ll?1:u.l==0xFFF0000000000000ll?-1:0);

    }

    intmain()

    {

    double x,y;

    x = 12345678901.1234567;

    printf("%f = (%f) + (%f)

    \n",x,y,modf(x,&y));

    printf("%f = (%f) + (%f)

    \n",x,y,my_modf01(x,&y));

    printf("%f = (%f) + (%f)

    \n",x,y,my_modf02(x,&y));

    printf("\n******************************************\n");

    printf("%f = (%f) + (%f)

    \n",-x,y,modf(-x,&y));

    printf("%f = (%f) + (%f)

    \n",-x,y,my_modf01(-x,&y));

    printf("%f = (%f) + (%f) \n",-x,y,my_modf02(-x,&y));

    system("pause");

    return 0;

    }

    展开全文
  • stricmp ( )【C语言库函数源代码

    千次阅读 2009-11-22 20:50:00
    C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/*_stricmp/_strcmpi perform a case-insensitive string comparision.For differences, upper case letters are mapped to lower case.Thus, "abc_" ...

     【C语言库函数源代码】

    【本程序在Dev C++ 4.9.9.2 下编译通过】

    /*

    _stricmp/_strcmpi perform a case-insensitive string comparision.

    For differences, upper case letters are mapped to lower case.

    Thus, "abc_" < "ABCD" since "_" < "d".

       字符串比较函数,比较字符串src和dst,但是不区分大小写,

       大写字母会被转换为小写字母来进行比较。如:"abc_" < "ABCD" ,因为 "_" < "d"。

       当源字符串大于目标字符串的时候,返回>0;当源字符串等于目标字符串的时候,返回=0。

       当源字符串小于目标字符串的时候,返回<0;

    */

    int my_stricmp(const char *dst, const char *src)

    {

       int ch1, ch2;

       do

       {

          if ( ((ch1 = (unsigned char)(*(dst++))) >= 'A') &&(ch1 <= 'Z') )

            ch1 += 0x20;

          if ( ((ch2 = (unsigned char)(*(src++))) >= 'A') &&(ch2 <= 'Z') )

            ch2 += 0x20;

       } while ( ch1 && (ch1 == ch2) );

       return(ch1 - ch2);

    }

    void Print(char * str1,char *str2,int t)

    {

       if(t > 0)

          printf("/n%s Upper Than %s/n",str1,str2);

       else if(t < 0)

          printf("/n%s Lower Than %s/n",str1,str2);

       else

          printf("/n%s Equal %s/n",str1,str2);

    }

    int main()

    {

       char *str1= "ammana";

       char *str2 = "babi";

       char *str3 = "AMMANA";

       char *str4 = "bab_";

     

       Print(str1,str2,my_stricmp(str1,str2));

       Print(str3,str1,my_stricmp(str3,str1));

       Print(str4,str2,my_stricmp(str4,str2));

      

       system("pause");

       return 0;

     

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ammana_babi/archive/2006/11/24/1409953.aspx

    展开全文
  • memmove ( )【C语言库函数源代码

    千次阅读 2006-11-25 10:29:00
    C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/* memmove() copies a source memory buffer to a destination memory buffer.This routine recognize overlapping buffers to avoid propogation....
  • strcmp ( )【C语言库函数源代码

    千次阅读 2006-11-24 09:38:00
    C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/* STRCMP compares two strings and returns an integer to indicate whether the first is less than the second, the two are equal, or whether ...
  • strncpy ( )【C语言库函数源代码

    千次阅读 2006-11-24 09:37:00
    C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/* Copies count characters from the source string to the destination. If count is less than the length of source,NO NULL CHARACTER is put ...
  • memcpy ( )【C语言库函数源代码

    千次阅读 2006-11-25 10:24:00
    C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/* memcpy() copies a source memory buffer to a destination memory buffer. This routine does NOT recognize overlapping buffers, and thus can ...
  • strncat ( )【C语言库函数源代码

    千次阅读 2006-11-24 09:37:00
    C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/* Appends at most count characters of the string back onto the end of front, and ALWAYS terminates with a null character.If count is ...
  • strnset ( )【C语言库函数源代码

    千次阅读 2006-11-25 17:59:00
    C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/* Sets the first count characters of string the character value.If the length of string is less than count, the length of string is used in...
  • memchr ( )【C语言库函数源代码

    千次阅读 2006-11-25 13:16:00
    C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】#include /* Searches at bufferfor the given character, stopping when characteris first found or cnt bytes have been searched through....
  • memccpy ( )【C语言库函数源代码

    千次阅读 2006-11-25 12:40:00
    C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】#include /* Copies bytes from src to dest until count bytes have been copied,or up to and including the character c, whichever comes first....
  • strncmp ( )【C语言库函数源代码

    千次阅读 2006-11-24 09:39:00
    C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/* Compares two strings for lexical order. The comparison stops after: (1) a difference between the strings is found, (2) the end of the ...
  • strnicmp ( )【C语言库函数源代码

    千次阅读 2006-11-24 09:41:00
    C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/* Compare the two strings for lexical order. Stops the comparison when the following occurs: (1) strings differ, (2) the end of the ...
  • memcmp ( )【C语言库函数源代码

    千次阅读 2006-11-25 14:59:00
    C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/* Compares count bytes of memory starting at buffer1 and buffer2 and find if equal or which one is first in lexical order. 比较内存区域...
  • memicmp ( )【C语言库函数源代码

    千次阅读 2006-11-25 15:18:00
    C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/* memicmp perform a case-insensitive memory comparision.For differences,upper case letters are mapped to lower case.Thus, "abc_" (与memcmp...
  • strdup ( ) 【C语言库函数源代码

    千次阅读 2006-11-25 17:26:00
    C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/* Allocates enough storage via malloc() for a copy of the string, copies the string into the new memory, and returns a pointer to it....
  • strcat ( )【C语言库函数源代码

    千次阅读 2006-11-24 09:35:00
    C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/* Concatenates src onto the end of dest. Assumes enough space in dest. 目标指针空间必须有足够的存储空间。*/char * my_strcat ( char * dst...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,127
精华内容 8,450
关键字:

c语言库函数源代码

c语言 订阅