C笔记 字符串

1 使用字符数组存储字符串

void main(){
    char str[] = { 'f', 'u', 'c', 'k' };
    printf("%s\n", str);
    printf("%#x\n", str);
    getchar();
}

打印结果:
这里写图片描述

后面出现乱码是因为没有结束符

char str[] = { 'f', 'u', 'c', 'k' ,'\0'};

添加结束符后,则不会显示乱码。

同样也指定字符长度,也不会显示乱码。

char str[5] = { 'f', 'u', 'c', 'k', };
char str[5] = "fuck";

此时的字符串可以修改

str[0] = 'a';

打印结果将会变成:auck。

2 字符指针

void main(){
    //内存连续排列
    char *str = "how are you?";

    //不可以修改
    //*str = 'a'; //将会报错

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

    //使用指针加法,截取字符串
    str += 3;
    while (*str){
        printf("%c",*str);
        str++;
    }

    getchar();
}

打印结果

how are you?
0x12f58b8
 are you?

3 字符串拼接

void main(){
    char dest[50];
    char *a = "china";
    char *b = "is powerful!";
    strcpy(dest,a);
    strcat(dest,b);

    printf("%s\n",dest);
    system("pause");
}

打印结果:

chinais powerful!

4 在一个字符串中查找已知字符的下标位置

void main(){
    char *str = "I have a girl friend";
    printf("%#x\n",str);

    char *p = strchr(str,'a');

    if (p){
        printf("索引位置:%d\n",p-str);
    }
    else{
        printf("没有找到");
    }
    system("pause");
}

打印结果:

0xd359ec
索引位置:3

5 在a中查找b第一次出现的位置

void main(void){
    char *a = "I have a girl friend";
    char *b = "a";
    //U元素的指针

    char* p = strstr(a, b);
    if (p){
        printf("索引位置:%d\n", p - a);
    }
    else{
        printf("没有找到");
    }

    system("pause");
}

打印结果

索引位置:3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值