14 lines
706 B
Plaintext
14 lines
706 B
Plaintext
问题1:wifi接受到的数据为const uint_8 不能直接用atoi转换为int。
|
||
解决:atoi((char*)(packet.data())) //使用(char*) 进行强制类型转换
|
||
|
||
问题2:c语言中sizeof()返回的是变量声明后所占的内存数,不是实际长度。strlen是一个函数,求的是字符串的实际长度,它求得方法是从开始到遇到第一个'\0',如果你只定义没有给它赋初值,这个结果是不定的,它会从arr首地址一直找下去,直到遇到'\0'停止
|
||
解决:字符串转换中使用strlen()获得实际长度
|
||
|
||
问题3:数字转字符串中可以使用sprintf
|
||
解决:sprintf(s, "%d", 100//将100转为10进制表示的字符串
|
||
|
||
问题4:强制类型转换(const unsigned char*)不能直接使用print输出
|
||
解决:atoi((char*)(packet.data())) //使用(char*) 进行强制类型转换
|
||
|
||
问题5: udp发送数据时会出现乱码
|
||
解决:字符数组末尾需要添加'\0'作为结束符 |