您的位置:首页 > 职场人生

黑马程序员——C基础之字符串处理函数

2015-12-07 11:26 330 查看
------- iOS培训、android培训、java培训、期待与您交流! ----------

/*

 

 字符串函数的使用

 

 使用puts和gets必须包含头文件 stdio.h

 

 puts()    输出一个字符串

 原:

 char str[] = "abc";

 printf("%s\n",str);

 现:

 puts(字符数组名);

 

 

 gets()    输入一个字符串

 原:

 char str1[100];

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

 现:

 gets(str);

 

 使用strcat()需要包含string.h头文件

 strcat()  连接一个字符串

 strcat(a,b) 把字符串b连接到a的后面去

 

 

strcpy  字符串拷贝函数

 

 strcpy(oldStr,newStr);

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

 strcmp  字符串的比较函数

 strcmp(str1,str2);比较两个字符串的大小

 abc < def 规则:逐个比较字符的ascii码值/比较在字典出现的顺序

 strcmp(str1,str2) > 0 str1 > str2

 strcmp(str1,str2) < 0 str1 < str2

 strcmp(str1,str2) == 0 str1 == str2

 strlen  字符串的长度计算函数

 */

#include <stdio.h>

#include <string.h>

int main(int argc,const
char * argv[]) {

    char str[] = "abc";

    printf("%s\n",str);

    //1)puts函数可以自动换行

    //2)可以是元素的地址

    //3)必须数字符数组

    //4)不可以格式化输出

    //puts("--%s",str);

    puts(str);

    puts(&str[1]);

    char str1[10];

    //1)warning: this program uses gets(), which is unsafe.

   
//2)不安全:数组长度是100,但是你如果输入了120个字符嘛,存在越界问题

    //3)使用gets可以接收空格

//    gets(str1);

//    puts(str1);

    //strcat
函数

    //1)格式 strcat(oldStr,newStr);

    //2) oldStr的长度要足够大,至少能够保存下oldStr + newStr

    //3) newStr
把 oldStr的最后一个字符的'\0'覆盖

    char str2[100] =
"welcome to ";

    char str3[] =
"itcast!";

    strcat(str2, str3);

    puts(str2);

    char str4[100] =
"fengjie";

    char str5[] =
"banzhang";

    puts(str4);

    puts(str5);

   
//str1要足够大,否则可能会越界

//    strcpy(str4, str5);

//    puts(str4);

//    puts(str5);

    

    int s = strcmp(str4, str5);

    printf("s = %d\n",s);//返回值为差值

    s = strlen(str5);//不包含\0

    s = strlen(str4);

    printf("s = %d\n",s);

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  字符串处理函数