打印

顶山**!顶鹰!我用技术贴来结贴吧

[复制链接]
楼主: 冷漠
手机看帖
扫描二维码
随时随地手机跟帖
21
highgear| | 2009-6-3 21:10 | 只看该作者 回帖奖励 |倒序浏览

我也路过,看看。顶冷嬷嬷一个

再顶 zyboy, 不幸被你说中了: buffer中没有'\0'。

使用特权

评论回复
22
huangqi412| | 2009-6-3 21:39 | 只看该作者

又开始了,纯看热闹

使用特权

评论回复
23
strang| | 2009-6-3 21:48 | 只看该作者

我也来路过

 huangqi412  
 highgear  
貌似一个人???


使用特权

评论回复
24
冷漠|  楼主 | 2009-6-3 21:48 | 只看该作者

不看书,胡搅。没有'\0'结尾的不是字符串!叫字符数组。

   C风格字符串与常规char 数组之间的一个重要区别是:字符串有内置的结束字符。(前面讲过,包含字符,但不以空值字符'\0'结尾的char数组只是数组,而不是字符串)。这意味着不必将字符串长度作为参数传递给函数,而函数可以使用循环依次检查字符串中的每个字符,直到遇到结尾的空值字符为止。
                                                                                             ——摘自《C++ Primer Plus》第五版 P203




总有高手喜欢卖弄:“传递数组一定要把长度信息传递给函数,这是高手与菜鸟的区别。”(字符串也是字符数组。)

呵呵,看来这位撰写畅销全球经典教程的Stephen Prata,在咱们中国21IC论坛“天下第一”高手的眼里,不过是一只菜鸟。咱天下第一老所长是什么鸟?怎么没见所长也写一本名扬天下的经典之作?光知道嘴上吹。


highgear连最基本的概念还没弄懂,“不幸被你说中了: buffer中没有'\0'。”大喜过望了。“冷漠讲错啦...”

    没有'\0'是因为你没有用双引号定义字符串!没有空值符号'\0'结尾的字符数组不是字符串! 这种概念连俺菜鸟都懂。

呵呵,书上说的啥?

“这意味着不必将字符串长度作为参数传递给函数,而函数可以使用循环依次检查字符串中的每个字符,直到遇到结尾的空值字符为止。”


咱只看书信书,你算老几?有本事你也写一本,我就信你。




使用特权

评论回复
25
冷漠|  楼主 | 2009-6-3 22:04 | 只看该作者

字符串和字符。

字符串常量"x"与字符常量'x'不同。其中一个区别是'x'属于基本类型char,而"x"则属于派生类型。第二个区别是"x"实际上是由两个字符('x'和空值符'\0')组成。

'x'——> x 
"x"——> x  \0     //空字符作为字符串的结束。

——摘自《C++ Primer Plus 》P62

天下第一高手让俺菜鸟在这扫盲?累不累。


使用特权

评论回复
26
john_light| | 2009-6-3 22:19 | 只看该作者

讨论的东西,能不编辑尽量不编辑。

要不,你原来说的什么大家都没谱了。

使用特权

评论回复
27
highgear| | 2009-6-3 22:19 | 只看该作者

顶冷嬷嬷24楼。心静,则万物静。

好心的提醒冷嬷嬷一下,先前是在讨论  串口  发送数据,所以 enjoy21cn 同学的定义无可厚非。 

使用特权

评论回复
28
hotpower| | 2009-6-4 03:54 | 只看该作者

晕~~~

庆六一,菜农篡改升级Keil软串口助手



http://bbs.embcom.net/thread-487-1-1.html

庆六一,菜农篡改升级Keil软串口助手

  下载 (126.76 KB)
4 分钟前

点击下载KeilCOMTool
 KeilCOMTool.rar (598.65 KB) 下载次数: 0
4 分钟前

内有新旧版本:
KeilCOMTool2 适应于老的KeilC51和ARM

KeilCOMTool3 适应于新的KeilC51

使用特权

评论回复
29
电子空对穴| | 2009-6-4 09:09 | 只看该作者

回10楼

你的那个FOR 似乎少个"("对吧

使用特权

评论回复
30
电子空对穴| | 2009-6-4 09:14 | 只看该作者

菜农!!!

你不要在这水了,看下原贴,你直接把文件挂在你的Blog上得了,!!链接到一个什么嵌入式网站,还要注册,麻烦

使用特权

评论回复
31
gaohq| | 2009-6-4 10:10 | 只看该作者

边看边问

TO 电子空对穴 
  是笔误,是多敲了个“)”。
TO 楼主
  谢谢验证  我回去再试下。

使用特权

评论回复
32
highgear| | 2009-6-4 21:31 | 只看该作者

顶 hotpower, 顶篡改, 顶六一

hotpower,你是我的 ou 象啊。

使用特权

评论回复
33
ifree64| | 2009-6-20 20:22 | 只看该作者

冷默说了那么多,我还是不能同意你的意见。

要是一个unicode编码的中文字符串你的方法可能就要傻眼了。

依靠于'\0'结束符的字符串,太不可靠了。

使用特权

评论回复
34
delin17| | 2009-6-22 17:08 | 只看该作者

xx

顶楼上,
每个程序都要看实际情况,不能都以'\0',也不能都以sizeof();

使用特权

评论回复
35
cll| | 2009-6-22 20:33 | 只看该作者

后面 000H 是编译器自动加的?

这是字符串定义char a[ ]="Hello World";编译结果,后面 000H 是编译器自动加的

屁话,睁大眼睛看字符串定义!后面 000H 是编译器自动加的?

使用特权

评论回复
36
cll| | 2009-6-22 20:55 | 只看该作者

俺告诉他:这是字符串,自己有指针和边界'\0';不是数组概

有一组字符串"Hello World",欲通过51串口发送。

假设定义字符串 char  a[]="Hello World";

咱天下第一老所长写的发送循环入口条件是:

for( i=0; i<sizeof(a); i++ )

有问题吗?

俺告诉他:这是字符串,自己有指针和边界'\0';不是数组概念。无需求长度sizeof(a)。

字符串 指针 边界'\0' 不是数组概念。??? 不懂装懂,半瓶水啊

使用特权

评论回复
37
naren| | 2009-6-22 21:15 | 只看该作者

路过~~

俺只见过C中的字符数组~~

使用特权

评论回复
38
呆板书生| | 2009-6-23 07:14 | 只看该作者

路过

鹰有时飞的比山**低,但山**永远飞不了鹰那么高

使用特权

评论回复
39
alphal| | 2009-6-23 11:13 | 只看该作者

我顶!

讨论问题就讨论问题,技术PK也没什么错吧,再牛的人,如果犯了错,也该承认,技术讨论就是技术讨论,关“山**”“山鹰”的鸟事,飞不过山**的时候被啄一口也是活该,还管你身份不成,有种你就飞高点。

使用特权

评论回复
40
makesoft| | 2009-6-23 12:03 | 只看该作者

呵呵,同意

  呆板书生 发表于 2009-6-23 07:14 侃单片机  ←返回版面  按此察看该网友的资料 按此把**加入收藏夹 按此编辑本帖

38楼: 路过

鹰有时飞的比山**低,但山**永远飞不了鹰那么高

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则