A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

与字符串相关的常用函数(整理)
/*
1.puts函数,此函数声明在stdio.h中.
语法格式:puts(存储字符串的字符数组名);
作用:用来输出字符串
优点:输出完毕之后会自动换行
缺点:只能输出字符串,不能使用占位符

2.gets函数,此函数声明在stdio.h中.
语法格式:gets(存储字符串的字符数组名);
作用:用来接收从控制台输入的字符串数据
优点:当输入的时候包含空格的时候会一并接收(使用scanf函数接收字符串数据的时候,输入空格就会认为输入结束)
(但是和scanf函数一样的是,如果存储字符串数据的字符数组的长度不够,程序就会运行崩溃)

3.strlen函数,此函数声明在string.h中.
语法格式:strlen(存储字符串的字符数组名);
作用:得到存储在字符数组中的字符串的长度

4.strcmp函数,此函数声明在string.h中
cmp-->compare 比较.
语法格式: strcmp(字符串1, 字符串2);
作用:用来比较两个字符串的大小.(比较规则:比较的是相同位置的字符的ASCII码的大小)
返回值是int类型的.
如果返回的是0,那就说明一样.
如果返回的是负数,就说明字符串1比字符串2小
如果返回的是正数,就说明字符串1比字符串2大

5.strcpy函数,此函数的声明在string.h中.
语法格式:strcpy(字符串1,字符串2);
作用:把存储在一个字符数组中的字符串数据拷贝到另一个字符数组中存储.
将字符串2拷贝到字符串1数组中.(可能会出现字符数组1存储不下字符串2的字符串,长度不够就会运行崩溃).

6.strcat函数,此函数声明在string.h中
cat --> concat:连接
作用:把存储在字符数组2的字符串数据连接在字符串1的后面.



*/
#include <stdio.h>
#include <string.h>

int main()
{
    //声明一个字符数组用来存储用户输入姓名
    char name[100] = {0};
    //提示用户输入
    printf("请输入你的姓名: ");
    //使用gets函数接收数据:优点,如果输入空格可以一并接收
    gets(name);
    //使用puts函数输出,优点:可以自动换行,但只能输出字符串,不能使用占位符.
    puts(name);
    //使用sizeof计算字符数组的长度
    unsigned long  len = sizeof name;//声明字符数组的时候指定了长度,所得的长度是定义数组的时候指定的长度
    printf("len = %lu\n", len);
    //使用strlen函数计算字符串的长度
    printf("len1 = %lu\n", strlen(name));//取得的是字符数组中存储的字符串的真实长度
   
    //再声明一个字符数组用来存储用户输入
    char name2[100] = {0};
    //提示用户输入姓名
    printf("请输入你好朋友的名字: ");
    //使用gets接收
    gets(name2);
    //使用puts输
    puts(name2);
    //使用strlen函数计算字符串的长度
    printf("len3 = %lu\n", strlen(name2));
   
    //使用strcmp函数比较name1和name2的长度
    int res = strcmp(name, name2);
    printf("res = %d\n", res);
   
    //使用strcpy将name2中的字符串拷贝到name1中存储
    strcpy(name, name2);
    puts(name);
    //使用strcat将name2中的字符串连接到name1后边
    strcat(name, name2);
    puts(name);
    return 0;
}

1 个回复

正序浏览
签到领奖
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马