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语言中String库函数

  • 2011年06月20日 07:22
  • 4KB
  • 下载

C语言中String库函数大全

C语言中String库函数 以下内容摘自《C程序设计教程》(美)H.M.Deitel P.J.Deitel著,薛万鹏等译,机械工业出版社。 void *memccpy (void *dest,...

c语言文件IO库函数——APUE学习笔记(1)

大多数函数只需要五个函数实现IO操作:open, read, write, lseek, close. 一. 文件描述符: 文件描述符时一个非负整数(0~OPEN_MAX - 1).当打开现有文...

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

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

C语言库函数学习

标准库 1 复制 char* strcpy (char *s1, const char *s2); 将字符串s2复制到s1指定的地址 char* strncpy (char *...

学习笔记1——C语言库函数在文本中指定地方添加和删除一段

调用C语言库函数,在文本中添加和删除这段(红色标记)     End Extended Reserved Data:     [Reserved Data]     0x4f505448   ...

C库函数 学习C语言的必需品

  • 2011年01月04日 00:11
  • 437KB
  • 下载

自己动手写字符串库函数 一(C语言实现)

在coding中最常使用的就是对于字符串的处理问题,接下来我们自己动手写库函数,尽量使用指针操作,而不是数组操作 //头文件 string.h #include #include //定义 ...

C语言的常用库函数使用方法分析及用途 (1)

absread()读磁盘绝对扇区函数   原形:int absread(int drive,int num,int sectnum,void *buf)   功能:从drive指定的驱动器磁盘上,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c语言库函数学习(string)
举报原因:
原因补充:

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