我正在学习磨砂,并做一些例子。我的代码是将随机字符串"ccc“从我的pc发送到微控制器LPCXpresso。
enter code here
#include "mbed.h"
DigitalOut myled(LED1);
Serial pc(USBTX, USBRX);
int main() {
char c;
char buffer[128];
myled = 1;
pc.gets(buffer, 4);
pc.printf("I got '%s'\n", buffer);
if(buffer == 'ccc'){
myled = 0;
}
}我输入“ccc”,而printf返回消息:我得到了“ccc”。但是,在if语句中,如果我使用(缓冲区== 'ccc'),我会看到错误消息:main.cpp:操作数类型不兼容("char *“和"int")在"main.cpp”中。如果我使用(缓冲器== " ccc "),我的led不会像预期的那样亮起,因为我知道缓冲区是ccc。
我怎么能让它起作用呢?
发布于 2018-03-19 09:35:09
在C/C++中,不能比较类似的字符串。使用抽筋。例如:
if (strcmp(buffer, "ccc") == 0) {https://stackoverflow.com/questions/49355599
复制相似问题