hick 发表于 2013-9-10 20:11:19

arduino 的编程语言到底算啥? 类 c 语言?

处理字符串的时候遇到疑惑,本来是想判断两个字符串是否相等, 常见语言的 str1 == str2 行不通。查找的时候发现可以使用叫 String 的 类/结构?


按照 c 风格的 strcmp 去使用发现是可以的, c 好像使用该函数还要包含 string.h ,arduino 就不需要。

在 wiki 里搜了下 strcmp , 发现倒是有调用的, 但是没有这个函数的相关说明。 那类似这样的函数, arduino 支持多少? 是个啥规律哈?

laofuz1024 发表于 2013-9-10 20:58:41

用 String 类的 equals 方法啊

近来都很少写代码,好像记得是这样的,如果说得不对,希望有人帮我解释一下

字符串在用 == 号比较的时候,String变量所指的是字符串所在的首地址,比较的话就是比较首地址了
虽然内容相同,但如果两个字符串存放在不同的地方,变量所指的是不同的地址,就算内容一样,==号的结果还是0

就像把 “一” 字写到本子第一行和第二行,虽然内容是一样的,但用 == 去比,比的是第一行的第一个格和第二行的第一个格,一个是第一行,一个是第二行,不一样....不是比内容....

http://arduino.cc/en/Reference/StringEquals这是这个方法的说明

http://arduino.cc/en/Reference/HomePage这里有官方的说明文档啊

hick 发表于 2013-9-10 21:06:27

laofuz1024 发表于 2013-9-10 20:58 static/image/common/back.gif
用 String 类的 equals 方法啊

近来都很少写代码,好像记得是这样的,如果说得不对,希望有人帮我解释一 ...

多谢,
String 的使用倒是查到了。字符串的比较我理解就是 C 指针那套的。

注意我分段写了,第三段说的"类似函数"是说 strcmp 类似的函数哈,你发的俩链接里没有 strcmp 类似函数的使用说明。

hick 发表于 2013-9-10 21:07:11

laofuz1024 发表于 2013-9-10 20:58 static/image/common/back.gif
用 String 类的 equals 方法啊

近来都很少写代码,好像记得是这样的,如果说得不对,希望有人帮我解释一 ...

对了,arduino.cc 里搜索也找不到 strcmp 的相关信息。

laofuz1024 发表于 2013-9-10 21:53:21

在开发工具的库里可能有哟...

wyd1520 发表于 2013-9-11 14:13:37

hick 发表于 2013-9-10 21:07 static/image/common/back.gif
对了,arduino.cc 里搜索也找不到 strcmp 的相关信息。

请到hardware\arduino\cores\arduino 找就是了。他有个定义好的WString.cpp类,里面就引用了 #include <string.h>
然后又在主函数库里引用这个WString.h

hick 发表于 2013-9-11 14:34:04

wyd1520 发表于 2013-9-11 14:13 static/image/common/back.gif
请到hardware\arduino\cores\arduino 找就是了。他有个定义好的WString.cpp类,里面就引用了 #include
...

3x 嘿嘿

虽然那个目录里仍然没有找到 strcmp 的定义, 不过看得出来就是就是因为 string.h 被包含 strcmp 才可用, 所以类 strcmp 函数就是 string.h 中定义的函数了。 也能找到其他类似库函数头文件了。
页: [1]
查看完整版本: arduino 的编程语言到底算啥? 类 c 语言?