怎样去掉java string 末尾补0末尾可能出现的'\0'

本帖子已过去太久远了,不再提供回复功能。string是以‘\0’结束吗
?【c++吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:283,671贴子:
string是以‘\0’结束吗
我估计十个人有八个答不出来
20楼后发放答案
AutoTDS-V1型全自动热解吸仪是一款20位常温二次全自动热解吸仪,气路采....
考虑下c_str()函数的感受
外面标题居然乱码了
可怜的百度
我认为不是,string a="asaas",b;把a赋值给b是不包括'\0'的而b又能输出故不是以其结束的
一个正确的C字符串是以\0结束的。其他的未必。
这么晚没人了。楼主说答案吧
string 其本质是个类,按照类理解的话是不带 '\0' 的,不过据传 C++11 规定 std::string 必以 '\0' 结尾,实现了 C++11 标准的编译器会自动在最后面补加这个,我没装 VS2012 验证不了,码几行程码一试便知
直接debug看一下内存不就知道了么
我觉得应该是以/0结束的,楼上那个把string a赋值给b,应该是重载过赋值号,自动在末尾添加/0,否则b输出字符串的时候不遇到/0是不会结束的,菜鸟愚见,请大神批评指正
苹果怎么设置铃声?
自己用指针向后看一下
楼主,要知道你这问题极易变成街头流血事件,
我在网上搜索的时候,说法有很多
不知是否与c++标准有关
我测试了c++98跟c++11,是以\0结束测试代码如下:#include&iostream&int main(){
char aaab[10]="\0 1234";
string aaa="\0 1234";
cout&&}看了 大神的回复,我找到了一点资料size_type size() const
{ // return length of sequence
return (this-&_Mysize);
}这段代码意思是:每个string都有一个_MySize代表着长度
当然\0不计算在长度之内此代码貌似是string源代码中的
可惜初学者经验尚浅在string源代码中没找到这段代码求大神科普
求大神,求标准帝
搜索了n多资料
得出最后结果是
string并非以\0结束
而是以长度结束
而string str="\0 1234";为什么会没有输出,原因貌似是因为赋值重载运算的时候自动截断了以下是资料:
出来科普下吧大神
ISO/IEC C++ N348521.4.5 basic_string element access [string.access]const_reference operator[](size_type pos)reference operator[](size_type pos);1 Requires: pos &= size().2 Returns: *(begin() + pos) if pos & size(). Otherwise, returns a reference to an object of typecharT with value charT(), where modifying the object leads to undefined behavior.3 Throws: Nothing.4 Complexity: constant time.大概就是说 operator[] 允许通过 operator[](size()) 的方法访问字符串结束符 0(at 是不行的)。按实现上可以直接就在字符串上填一个结束的 0。
linux环境不是,windows是,系统不同一般不同,noip就是这样挂了,但是c++里默认是以\0做结尾,具体可以在调试时看看嘛!!
刚看书看到了。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或本帖子已过去太久远了,不再提供回复功能。}

我要回帖

更多关于 ios float去掉末尾的0 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信