C语言中的字符串

1.字符串的输入和输出:

   在C语言中是没有标示字符串的关键字的,C语言中用字符数组表示字符串

   如果要输出字符串 那么使用 %s 来进行输出

     例: printf("%s ",str);     printf("%s ",&str[0]);

   同样用%s接收键盘上输入的一个字符串

     例: scanf("%s",str);    scanf("%s",str[0]);

   注意:

      1) 以%s进行输入时,如果输入的字符串有空格,则空格之后的字符无法被接收保存(以%s的格式输入,scanf遇到空格,就结束了)

      2) 输入的字符串的长度要小于数组的长度(如果大于数组长度是可以输入的,但是字符精度无法保证)

2.字符串的处理函数

  首先想要使用字符串函数需要引入

  include <stdio.h>

  include <string.h>

  1)字符串输出函数 puts   :格式 puts(str)

      原先打印一个字符串

        char str[]="abc";

        printf("%s ",str);

      现在

        puts(str);  

      特点:

         puts函数可以帮我们换行

         实参可以不是数组的首地址,例如 puts(&str[1]);

  2)字符串输入函数 gets   格式:gets(数组名)

      原来接收一个字符串

          char str1[100];

          scanf("%s",str1); //缺陷,输入字符串的时候不能有空格

      现在

          gets(str);

      注意:

        使用gets会给出一个警告: warning : this program uses gets(),which is unsafe

        这个警告是在说:gets依然存在越界问题,例如往长度为100的数组内传入120个字符

        使用gets 是可以接收空格的

  3) 字符串链接函数 strcat :格式: strcat(char[] oldStr,char[] newStr);

      链接一个字符串,把两个字符串链接成一个字符串

      把字符串链接在oldch后面

      oldStr的长度要足够,至少能够保持下 oldStr+newStr

      

  4) 字符串拷贝函数 strcpy :格式 strcpy(char[] oldStr,char[] newStr);

      把newStr拷贝到oldStr中,newStr会覆盖掉oldStr中的内容

  5) 字符串比较函数 strcmp :格式 strcmp(char[] str1,char[] str2);

      比较两个字符串的大小规则:

        比较字符的ASCII码值 / 比较在字典中出现的顺序

      比较的过程:逐个取两个字符串的字符对应位相比较,从第一位不相同的位开始,就能确定字符串大小

      函数有返回值,当返回值大于0 则 str1大于 str2 反之则小于

  6) 测试字符串长度的函数 strlen :格式 strlen(char[] str)

原文地址:https://www.cnblogs.com/developer-wang/p/4488813.html