免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: leiyu
打印 上一主题 下一主题

不理解的strlen [复制链接]

论坛徽章:
0
31 [报告]
发表于 2006-03-22 13:49 |只看该作者
原帖由 westgarden 于 2006-3-21 21:14 发表


右值
有这样的称呼吗?
杜撰的吧。

左值:引用某个对象的表达式。原本是想说“某个可以放在赋值左边的东西”。
引自《C++程序设计语言》 4.9.6节。

这个人看来犯了两个错误:
1、本本主义
2、不看书主义

论坛徽章:
0
32 [报告]
发表于 2006-03-22 15:57 |只看该作者
原帖由 net_robber 于 2006-3-22 13:49 发表

这个人看来犯了两个错误:
1、本本主义
2、不看书主义


这位批评家说的很是,我虚心接受。

还有:
3、随便质疑他人主义
4、不搜google就发言主义
5、没完没了发帖回帖灌水主义
6、浪费电主义
7、不爱惜眼睛主义
8、浪费时间及生命主义

[ 本帖最后由 westgarden 于 2006-3-22 16:28 编辑 ]

论坛徽章:
0
33 [报告]
发表于 2006-03-22 16:26 |只看该作者
原帖由 zy116 于 2006-3-21 20:39 发表


那要看怎么用strncpy了
例如


  1. char *a = "hello";
  2. char buf[128];

  3. strncpy(buf, a, strlen(a)+1);

复制代码


就有 '\0'了
呵呵!


应该是
char *a = "hello";
char buf[128];

strncpy(buf, a, sizeof(buf));

论坛徽章:
0
34 [报告]
发表于 2006-03-22 16:33 |只看该作者
原帖由 is01zyf 于 2006-3-22 16:26 发表


应该是
char *a = "hello";
char buf[128];

strncpy(buf, a, sizeof(buf));


Good !  Thx!

论坛徽章:
0
35 [报告]
发表于 2006-03-22 16:47 |只看该作者
xue xi

论坛徽章:
0
36 [报告]
发表于 2006-03-23 11:01 |只看该作者
个人认为flw版主把楼主问题复杂化了。当然对大家学习是很有好处的

论坛徽章:
0
37 [报告]
发表于 2006-03-24 10:42 |只看该作者
STRLEN是取到\0之前的长度

论坛徽章:
0
38 [报告]
发表于 2006-03-24 11:08 |只看该作者
看了这个帖子,学到很多东西,
感觉自己应该把strcpy函数的基本知识补一补了。

论坛徽章:
0
39 [报告]
发表于 2006-03-24 13:45 |只看该作者
原帖由 艾斯尼勒 于 2006-3-23 11:01 发表
个人认为flw版主把楼主问题复杂化了。当然对大家学习是很有好处的

你认为memset不用资源吗?flw是负责

论坛徽章:
0
40 [报告]
发表于 2006-03-24 16:30 |只看该作者
定义的时候初始化就行了, 我经常这样写

char str_log[50] = "\0";
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP