Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将char*转换为int arduino_C++_Arduino_Type Conversion - Fatal编程技术网

C++ 将char*转换为int arduino

C++ 将char*转换为int arduino,c++,arduino,type-conversion,C++,Arduino,Type Conversion,我无法从char获取int值。。这里 Serial.println(((char*)“3772837903”); Serial.println(atoi((char*)“3772837903”) 3772837903 2147483647 有人能帮忙吗?thx是基于AVR的MCU上的一个16位宽有符号变量。你的显然是一个32位有符号变量,所以我假设它是一个基于ARM的板 无论如何,4294967296-1是无符号整数(uint32\u t)的最大值。对于int32\u t来说,这是它的一半,即

我无法从char获取int值。。这里

Serial.println(((char*)“3772837903”); Serial.println(atoi((char*)“3772837903”)

3772837903 2147483647


有人能帮忙吗?thx是基于AVR的MCU上的一个16位宽有符号变量。你的显然是一个32位有符号变量,所以我假设它是一个基于ARM的板

无论如何,
4294967296-1
是无符号整数(
uint32\u t
)的最大值。对于
int32\u t
来说,这是它的一半,即
2147483647

关于:

返回值

成功时,函数将转换后的整数作为int值返回

如果转换后的值超出int表示的值范围,则会导致未定义的行为。如有可能,请参阅strtol,以了解更强大的跨平台替代方案


我的猜测是,在实践中,这个“未定义的行为”将返回
INT\u MAX

您不应该转换为未签名的INT吗?(不确定)这不适合
int
。您还可能遇到
inti=3772837903的问题。您需要一个更宽的类型,或者一个无符号int。