Arduino:字符串到整数得到奇怪的值

2024-01-31

我想转换一个String to an int,我所能找到的就是你必须将 String 转换为 char 数组,然后将该数组转换为int,但我的代码产生奇怪的值,我无法弄清楚问题是什么。

void ledDimm(String command)
{
    // Get the Value xx from string LEDDimm=xx
    String substring = command.substring(8, command.length());

    Serial.println("SubString:");
    Serial.println(substring);
    Serial.println("SubString Length:");
    Serial.println(substring.length());

    // Create a Char Array to Store the Substring for conversion
    char valueArray[substring.length() + 1];

    Serial.println("sizeof ValueArray");
    Serial.println(sizeof(valueArray));

    // Copy the substring into the array
    substring.toCharArray(valueArray, sizeof(valueArray));

    Serial.println("valueArray:");
    Serial.println(valueArray);

    // Convert char array to an int value
    int value = int(valueArray);

    Serial.println("Integer Value:");
    Serial.println(value);

    // Write the Value to the LEDPin
    analogWrite(LEDPin, value);
}

串行输出如下所示:

Received packet of size 11
From 192.168.1.4, port 58615
Contents:
LEDDimm=100
SubString:
100
SubString Length:
3
sizeof ValueArray
4
valueArray:
100
Integer Value:
2225

我期望得到一个值为 100 的 int,但实际的 int 是 2225?!我在这里做错了什么?


甚至还有一个(未记录的)toInt()String类中的方法:

int myInt = myString.toInt();

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Arduino:字符串到整数得到奇怪的值 的相关文章

随机推荐