c语言库函数学习(string)

原创 2007年09月21日 13:02:00

记得c语言大一的时候就已经学了,但是在学校学的课基本上就是应付考试的,说道了能有些知道,但是真正用起来确还差远了,因而现在我要重新开始好好学,争取能在c语言的实际应用中能成为高手,首先我准备从c语言的库函数开始。
下面是自己边学边练的一些东西,放在这,以后自己要看就不用到网上四处找了,进自己的博客就能搞定,很惬意哦。当然如果有人看到对他有帮助,那也是非常令人高兴的事,也算是自己积德了,哈哈。

 

/*

  #include <stdlib.h>
  double atof( const char *str );
  该函数将字符串转换为double类型的数据
  该函数还识别e(E)字符

  #include <stdlib.h>
  int atoi( const char *str );
  long atol( const char *str );
  这两个函数将字符串转换为int或是long类型的数据
  但是这两个函数不识别e(E)的字符
  
  相反的,可以通过sprintf函数将数字转换为字符串类
  #include <stdio.h>
  int sprintf( char *buffer, const char *format, ... );
  该函数基本上同printf函数,只是它将格式化的数据放入buffer中
  而不是像printf函数,将格式化后的数据打印大标准输入系统(控制台)
  它的返回值为写入的字符串数

  printf函数特殊情况下的说明:
    %c character  
    %d signed integers  
    %i signed integers  
    %e scientific notation, with a lowercase "e"  
    %E scientific notation, with a uppercase "E"  
    %f floating point  
    %g use %e or %f, whichever is shorter  
    %G use %E or %f, whichever is shorter  
    %o octal  
    %s a string of characters  
    %u unsigned integer  
    %x unsigned hexadecimal, with lowercase letters  
    %X unsigned hexadecimal, with uppercase letters  
    %p a pointer  
    %n the argument shall be a pointer to an integer into which is placed the number of characters written so far  
    %% a '%' sign 
    
    left-justified: %-12.5f
    default is right-justified
    to pad 0 in the spaces use 0 before : %012.4d
    use l or h with %d, %o, %i, %u, %x, %e, %f, %g means the long, double, or short types
    use # before %g, %f, %e shows to print decimal fraction whether there is or not
    use # before %x or %o tells to print '0x' or '0' before the hexidecimal number or octal number
    
  #include <ctype.h>
  int isalnum( int ch );
  测试字符ch是否是数字或是字母(a letter of the alphabet)
  类似的有:
  int isalpha( int ch );    //是否为字母
  int iscntrl( int ch );    //是否为控制符(control character (between 0 and 0x1F or equal to 0x7F))
  int isdigit( int ch );    //是否为数字
  int isgraph( int ch );    //是否为可以见的字符,不包括空格(printable character other than a space)
  int isprint( int ch );    //是否为可以打印的字符,包括空格(a printable character (including a space)
  int ispunct( int ch );    //是否为打印字符,但不是字母,数字,空格(即可打印的标点符号或是特殊的附号
                            //(a printing character but neither alphanumeric nor a space)
  int isspace( int ch );    //测试是否为空格系列(包括空格,tab键等)
                            //(single space, tab, vertical tab, form feed(换页), carriage return(回车), or newline)
                            //(ch == ' '|| ch == ' ' || ch == ' ' || ch==' ' || ch == ' ' || ch == 'v');
  int isxdigit( int ch );    //是否为十六进制的数字(A-F, a-f, or 0-9)
  int isupper( int ch );    //是否为大写字母
  int tosupper( int ch );    //返回字符ch的大写形式
  int islower( int ch );    //是否为小写字母
  int tolower( int ch );    //返回字符ch的小写形式

  #include <string.h>
  void *memchr( const void *buffer, int ch, size_t count );
  该函数寻找ch字符在buffer中的位置,如果没有找到,返回NULL,否则返回指向该字符的指针
  由于buffer为void型的,所以该数组可以是任何类型的(基本类型的)
  注:count为字节数,可以用sizeof操作符获取
  返回buffer

  #include <string.h>
  void *memset( void *buffer, int ch, size_t count );
  该函数用于设置buffer中的count字节数的值为ch值
  这个函数在初始化buffer中是一个有效的操作
  返回buffer

  #include <string.h>
  int memcmp( const void *buffer1, const void *buffer2, size_t count );
  这个函数用于比较buffer1和buffer2中前count个字符的值。前者大返回大于1的值,相等返回0值,小于返回小于0的值

  #include <string.h>
  void *memcpy( void *to, const void *from, size_t count );
  复制知道大小(count)的字符从from到to
  返回to

  #include <string.h>
  void *memmove( void *to, const void *from, size_t count );
  该函数同memcpy,但是可以实现from和to重叠的情况


  #include <string.h>
  char *strcat( char *str1, const char *str2 );
  函数将str2的内容加入str1,并且返回str1

  #include <string.h>
  char *strchr( const char *str, int ch );
  同memchr,找字符ch

  #include <string.h>
  int strcmp( const char *str1, const char *str2 );
  同memcmp函数,比较字符串的大小

  #include <string.h>
  char *strcpy( char *to, const char *from );
  同memcpy函数拷贝字符串

  注:上诉三个函数的使用mem-的区别是mem-函数是操作内存的,并且可以操作基本上所有的基本类型数据。
      它的参数传入的大小也是一字节为单位的
      而str-函数只能操作字符串,并且不用传入大小的参数,因为字符串的结尾'

C语言学习总结(五)——C库函数总结

C 库函数主要指那些由美国国家标准协会(ANSI)或国际标准化组织(ISO)发布的标准中规定的库函数,按照标准 C 的要求来进行 C 语言编程是很重要的,因为这样你的代码才有可能跨平台使用。 最...
  • myintelex
  • myintelex
  • 2016年12月26日 18:22
  • 541

C字符串处理库函数

http://blog.csdn.net/pipisorry/article/details/36898405 使用C语言字符串处理的库函数,务必#include 1、 比较字符串大小函数   ...
  • pipisorry
  • pipisorry
  • 2014年07月04日 16:41
  • 2318

glibc-linux C 标准库函数源码

linux C标准库函数源码可以从GNU官网上免费下载,下面是地址: ftp://ftp.gnu.org/gnu/glibc...
  • u013056444
  • u013056444
  • 2016年07月02日 09:55
  • 1226

C语言库函数大全

C语言库函数手册分类函数,所在函数库为 ctype.hint isalpha(int ch)  若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0int isalnum(int ch...
  • YANFAN0916
  • YANFAN0916
  • 2011年05月27日 16:25
  • 4252

C语言库函数的实现

1.C库中strcmp的实现代码方法1:int strcmp(char *str1,char *str2) { for(;*str1==*str2;str1++,str2++) { ...
  • u012260238
  • u012260238
  • 2015年11月01日 21:55
  • 767

C语言中自己写几个简单的库函数

在C语言的学习中我们总会遇到一些看似看简单的问题,比如求字符串的长度,判断一个字符串中是否包含一个给定的子字符串,又或者怎么将一个字符串逆序输出,甚至是部分逆序输出,这些问题看似都挺简单,因为我们早已...
  • Loving_Forever_
  • Loving_Forever_
  • 2016年04月06日 21:39
  • 2654

【C】C语言标准库函数总结

1、存储分配 2、随机数生成 3、数字转换 4、环境通信 5、搜索与排序 6、整型算术 7、多字节、宽字符和字符串转换 8、时间与日期 9、区域设置 10、其它 1、存储分配 void* ma...
  • iEearth
  • iEearth
  • 2015年05月14日 09:15
  • 2390

C/C++的常用库及库函数学习了解

C/C++的常用库及库函数学习了解      在这主要介绍的是C/C++下一些基本库的了解学习及库下一些基本函数的解释和Demo展示。 首先来看几个问题: 1. #inc...
  • laozhuxinlu
  • laozhuxinlu
  • 2016年07月11日 14:58
  • 1980

一些常用C语言库函数实现

经常在笔试和面试中,公司会出一些C语言的库函数让面试者去做,这些函数看上去很简单,其实还是要考虑很多的。下面就几个常用的函数做一些简单的实现。 1、字符串复制函数 //字符串赋值函数 char ...
  • zhouxuguang236
  • zhouxuguang236
  • 2012年10月20日 21:03
  • 6123

C语言——系统函数和库函数的区别

系统调用:是操作系统为用户态运行的进程和硬件设备(如CPU、磁盘、打印机等)进行交互提供的一组接口,即就是设置在应用程序和硬件设备之间的一个接口层。可以说是操作系统留给用户程序的一个接口。再来说一下,...
  • Eleanor_12
  • Eleanor_12
  • 2016年12月10日 20:41
  • 2912
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c语言库函数学习(string)
举报原因:
原因补充:

(最多只允许输入30个字)