string和char *的使用比较

本文探讨了C语言中的字符串处理,包括char*类型、strlen()和sizeof()函数的使用。同时,解释了C++中的string类特性,如没有''结尾及size()方法。还讨论了两种类型的字符串相互转换方法,并介绍了strcmp()和strncmp()函数在字符串比较中的应用。
摘要由CSDN通过智能技术生成

1.char*:

  1. char *:是c语言中定义一个字符串指针,以’\0’为结尾,是在定义字符串的时候系统自动加上去的。
  2. strlen():求字符串的实际长度,遇到’\0’结束;
    sizeof():求类型的空间大小
char *c="abcdef";

char d[]="abcdef";

printf("%d%d/n",sizeof(c),strlen(c));

printf("%d%d/n",sizeof(d),strlen(d));

printf("%d%d/n",sizeof(e),strlen(e));

输出的结果是:

4 6

7 6
  1. strcmp(const char *s1,const char *s2):比较字符串是否相同,该函数使用的头文件为#include <string.h>
  2. int strncmp(const char *str1, const char *str2, size_t n) 把 str1 和 str2 进行比较,最多比较前 n 个字节。

2.string:

  1. c语言中没有string类型,它的string是通过char来实现的,<string.h> 头文件中提供了一些字符串操作的函数:如strlen,strcpy;头文件是c++中string类型的头文件
  2. string类的变量末尾没有’\0’;string.size()求字符串长度
  3. string类变量和其他类型一样可以直接比较大小

3.相互转换

  1. string转换为char *:
string s1 = "sss";
const char *c = s1.c_str();
  1. char *转换为string:
    直接转换即可
char *c = "sss";
string s1 = c;
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值