gpt4 book ai didi

c++ - 将 char 的值传递给 string 以用于比较

转载 作者:太空宇宙 更新时间:2023-11-04 13:40:20 25 4
gpt4 key购买 nike

我正在做一个项目,我将使用 Arduino (ATMEGA328) 和 GSM (SIM900)。

接收到的消息存储在inchar中。我能够在串行监视器上打印 inchar 的值,但我想在 inchar 中找到一个特定的词。

有什么方法可以将那个字符传递给字符串,这样我就可以使用字符串的子字符串函数了吗?

请帮忙。这是我的代码片段:

#include <SoftwareSerial.h> 
#include <string.h>

char inchar; // Will hold the incoming character from the GSM shield

SoftwareSerial SIM900(2, 3);
//String inchar1;

void setup()
{
Serial.begin(9600);

// wake up the GSM shield
SIM900power();
SIM900.begin(9600);
delay(20000);
SIM900.print("AT+CMGF=1\r");
delay(100);
SIM900.print("AT+CNMI=2,2,0,0,0\r");
delay(100);
Serial.println("Ready....");
}

void SIM900power()
{
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(7000);
}

void loop()
{

if(SIM900.available() >0)
{
inchar=SIM900.read();
Serial.print(inchar);


}
}

这是串口监视器的输出:

+CMT: "+1234567890","","15/01/13,10:51:29+32"
amessage deleted!

我只想比较 +1234567890 并丢弃其他的。有什么办法吗?

最佳答案

您可能想要使用 String 类而不是数组。看这里:http://arduino.cc/en/Reference/StringObject

yourString.index(",") 将允许您定位第一次出现的“,”。

然后您将能够使用 yourString.substring(start, stop) 来剪切您的字符串。

关于c++ - 将 char 的值传递给 string 以用于比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27914281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com