黑马程序员技术交流社区

标题: c语言字符串函数 (笔记3) [打印本页]

作者: 黑马公公007    时间: 2015-10-13 15:27
标题: c语言字符串函数 (笔记3)
                                                              《C语言字符串函数》
   总结:
        1.字符处理库(ctype)中的函数
         2.stdio中的字符串和字符输入/输出的函数
         3.通用实用库stdlib中的字符串转换函数
         4.字符串处理库string中的字符串处理函数
        C语言的字符串实际上是存储单个字符的数组,结尾包含一个结束该字符串的特别的字符("空字符",用'\0'表示)。
         char string1[]="first"实际上有6个元素。
         char color="blue" char * p="blue"
          注意p不能修改,若需修改应用字符数组。
      一、.字符处理库(ctype)中的函数

          #include<ctype.h>

           函数原型:int f(int c)

           i sdigit, isalpha, isalnum, isxdigit, islower, isupper, tolower, toupper,

           isspace,空白字符:新行符\n, 空格,回车''\r",水平制表符"\t", 垂直制表符"\v"

           isctrl, ispunct, isprint, isalpha

         二、stdio中的字符串和字符输入/输出的函数

         int getchar(void) 从标准输入设备读取字符以整数返回

           char * get(char * s)  从标准输入设备读入字符到数组s直到遇到新行符和文件结束符为止,然后再数组后追加NULL字符

           int putchar(int c)      打印字符

           int puts(const char * s) 打印字符串s和新行符

           int sprintf(char * s, const char * format) 与printf区别在于输出结果存放在s中

           int sscanf(char * s, const char * format);  与scanf区别在于从数组s读取数据

           示例1 字符串反转

           #include <stdio.h>
          void reverse(char *s)
           {
           if(s[0] == '\0')
           return;
           else
           {
           reverse(&s[1]);
           putchar(s[0]);
          }
          }
          int main()
           {
          char s[100];
          gets(s);
          reverse(s);
           return 0;
           }
            输入:sf
          输出:fs


           示例2 sscanf和sprintf

           #include<stdio.h>
            int main()
            {
            int x=1;
            double y=2.1;
            char s[100];
            sprintf(s,"Hello!%d, %f", x, y);
            puts(s);
            sscanf(s,"%d%f",&x,&y);
            printf("x:%d, y:%f", x, y);
             return 0;
            }
            输出:
            Hello!1, 2.100000
            x:1, y:2.100000






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2