美文网首页
sizeof(cha[])和strlen(cha[]),以及st

sizeof(cha[])和strlen(cha[]),以及st

作者: 狗嗨旺 | 来源:发表于2019-08-26 11:28 被阅读0次
#include <iostream>
using namespace std;

int main(){
    char cha[] = "wang";
    cout<<strlen(cha)<<endl;
    cout<<sizeof(cha)<<endl;
}

输出:

4
5

strlen不计算'\0' ,sizeof计算'\0'

cha存储的数据

定义char数组的方式:

  1. char cha[]="wang";
  2. char char[]={'w','a','n','g','\0'}

string和char数组不同,是一个类,不仅存储了字符,还存储了其他字符串相关的信息。

#include <iostream>
using namespace std;

void fun(char* str, int length){
    str[0] = 'd';
    cout<<"fun:"<<strlen(str)<<endl; //返回字符串的大小
    cout<<"fun:"<<sizeof(str)<<endl; //不仅包含字符串本身,还有不知道其他是啥数据。
    return;
}

int main(){
    string str = "wang";
    cout<<str.length()<<endl; //返回字符串的大小,不包括'\0'
    cout<<sizeof(str)<<endl; //返回对象str的大小,不仅包含字符串本身,还有其他数据。
    cout<<str<<endl;
    fun((char*)str.data(), str.length()); //通过(char*)str.data()可以将string转成char*,另外也可以通过str.c_str()转成const char*.
    cout<<str<<endl;
    return 0;
}

输出:

4
24
wang
fun:4
fun:8
dang

相关文章

  • sizeof(cha[])和strlen(cha[]),以及st

    输出: strlen不计算'\0' ,sizeof计算'\0' 定义char数组的方式: char cha[]="...

  • CHA CHA CHA

    大概是正午的原因 ,踏过两个街区后,便很少能看到人影,我把车停下,掏出刚从便利店里买来的冰凉汽水,一口气喝了三分之...

  • CHA  CHA   CHA

    街上闲语的 热烈的 性感女孩 甜美的诱惑 难以抗拒的 火辣女孩 花开的周末 充溢香气的 时髦夜晚 若只是这个样子 ...

  • 2017C++面试题

    1.sizeof和strlen的区别 sizeof和strlen有以下区别:  sizeof是一个操作符,str...

  • Strlen和sizeof

    一、 1. strlen 是函数,sizeof 是运算符。 2. strlen 测量的是字符的实际长度,以...

  • sizeof 和 strlen

    sizeof 定义 sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者...

  • C语言文件操作

    1.打开文件 2.操作文件 3.关闭文件 文件打开: fwrite写:fwrite(str, sizeof(cha...

  • C++复习--点点知识点

    1.strlen与sizeof的区别? a.strlen是一个函数,sizeof是一个运算符; b.strlen返...

  • In Cha

  • js获取指定位置字符串内容

    function find(str,cha,num){ var x = str.indexOf(cha);...

网友评论

      本文标题:sizeof(cha[])和strlen(cha[]),以及st

      本文链接:https://www.haomeiwen.com/subject/kchrectx.html