概述
前言
最近Python玩厌了,回去玩了会C++,然后在统计数组长度的时候各种出意外。
众所周知,在C/C++中x00
是作为结束符的一个存在,不像Python即使有x00
也不影响获取长度
这就导致写了个内容,但程序读取长度时读取不完整(因为在x00
处就停止读取了)
我在网上搜了半天,Google也找了,没用。
我自己琢磨了一会,弄好了。
下面是正确姿势
#include<iostream>
#include <istream>
using namespace std;
int main()
{
const char data[]={"x00x00x00x00x00x00Hello,Worldrnx00x00x00x00x00x00"};
//先随便声明一个无固定长度数组
// int datalen=sizeof(data)/sizeof(data[0]); 无用
// int datalen=strlen(data); 无用
size_t datalen = sizeof(data);
// 注意数据写法,比如x00111这种可能会出现错误
cout << datalen << endl;
return 0;
}
C/C++是世界上最好的语言!!!!
最后
以上就是留胡子自行车为你收集整理的【C++】完整获取数组长度【一行代码】的全部内容,希望文章能够帮你解决【C++】完整获取数组长度【一行代码】所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复