设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
编程开发讨论区 —— LinuxSir.cn
›
C\C++
›
请教c语言入门问题,很急,在线等。
返回列表
查看:
836
|
回复:
8
请教c语言入门问题,很急,在线等。
[复制链接]
zysno1
zysno1
当前离线
积分
268
IP卡
狗仔卡
发表于 2004-5-21 14:13:02
|
显示全部楼层
|
阅读模式
我定义了一个字符数组,具体如下:
char buffb[]={'M','#','\x00','+','\x01','M','E','N','U',' ','L','O','C','A','L',' ','I','P',':',' ','#','1','9','2','.','1','6','8','.','0','2','3','.','0','0','1','\n'};
然后用int i=strlen(buffb);来获得buffb的数组长度。
结果得到的i是2.
请问这是为什么???
怎么能得到真正的数组长度?
另外,我这么定义可以么?
char buffb[]={"M#\x00+\x01MENU-LOCAL IP: #192.168.023.001\x0d"};
谢谢!!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
BBDD
BBDD
当前离线
积分
180
IP卡
狗仔卡
发表于 2004-5-21 15:01:16
|
显示全部楼层
char buffb[]={'M','#',
'\x00'
……
请看一下字符串的定义。
回复
支持
反对
使用道具
举报
显身卡
home_king
home_king
当前离线
积分
2759
IP卡
狗仔卡
发表于 2004-5-21 15:14:45
|
显示全部楼层
没错,strlen函数是用来获取字符串的实际长度(也就是去除'\0')。
'\x00'也没有错啊,这是十六进制表示数。
回复
支持
反对
使用道具
举报
显身卡
kj501
kj501
当前离线
积分
5317
IP卡
狗仔卡
发表于 2004-5-21 15:20:41
|
显示全部楼层
字符串以'\0'结尾,只要字符数组中有一个元素是零,它就自然会被strlen()当作是字符串的结尾。
其实只要是使用了字符数组,自然就知道元素个数,不需要用strlen()来获取字符数组的长度。
回复
支持
反对
使用道具
举报
显身卡
home_king
home_king
当前离线
积分
2759
IP卡
狗仔卡
发表于 2004-5-21 15:26:20
|
显示全部楼层
kj501斑竹提醒得好,我都把这点忘了~~~~晕~~~~
回复
支持
反对
使用道具
举报
显身卡
zysno1
zysno1
当前离线
积分
268
IP卡
狗仔卡
楼主
|
发表于 2004-5-21 15:41:40
|
显示全部楼层
明白了。。
谢谢!!!!
回复
支持
反对
使用道具
举报
显身卡
zysno1
zysno1
当前离线
积分
268
IP卡
狗仔卡
楼主
|
发表于 2004-5-21 15:48:22
|
显示全部楼层
请问“既然使用了字符串,就自然知道长度。“这句话应该如何理解??
有什么其他的方法么?
我这里的字符串是程序动态获得的。所以我也不知道具体的长度。。
回复
支持
反对
使用道具
举报
显身卡
romy
romy
当前离线
积分
39
IP卡
狗仔卡
发表于 2004-5-21 16:12:22
|
显示全部楼层
要是非得放个00在里头,就只好自己写个strlen了,不能用0做默认结束符。
_____________
| |
| 偶是菜鸟 | *----*
|___________|/ ^ ^ \
\/| . . |\
\( (oo) )
<\<~~ \
_(_~A___)_
回复
支持
反对
使用道具
举报
显身卡
romy
romy
当前离线
积分
39
IP卡
狗仔卡
发表于 2004-5-21 16:15:30
|
显示全部楼层
晕,这论坛居然自动删除空格,可怜偶的签名档啊。。。
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表