c - 无法将空字符后的字符从文件发送到c中的服务器

问题描述

操作系统:Ubuntu(20.04) MCU:ESP WROOM 32 编码语言:C

我有一个 120KB 的文件,中间有很多空字符。例如:

 y=[y1,y2]
k=1;
for i=1:10;
    for j=1:10;
        idx_2=find(y1<0.1*(i) & y2<0.1*(j) & i~=j);
        C(k)=length(idx_2);
        k=k+1;
    end
end

是我的字符串,我试图通过 GSM 模块将整个文本(包括 \0)发送到服务器。我通过 UART 将此数据发送到 GSM,然后使用 AT 命令 char[50] = "welcome\0 my name\0 is"; 将数据发送到服务器,然后执行 "AT+HTTPDATA"。我现在面临的问题是,我只能发送数据,直到遇到第一个空字符。

例如: 在上面的字符串 HTTPPOST 我只能发送到 "welcome\0 my name\0 is",但之后不能发送。

示例代码如下:

"welcome"

我尝试了不同的发送方式,但直到现在都没有成功。

例如:

sent_bytes = uart_write_bytes(UART_NUM_1,dummy_data,size_of_data); /*data that I am sending 
                                                                      with '\0' in between*/
sent_bytes = uart_write_bytes(UART_NUM_1,"\x1A",2);       //ctrl+z for httpdata to terminate

仍然这段代码不起作用,我只能接收字符串直到第一个空值 即,直到上述情况下的“欢迎”。

所以,如果有人知道此问题的解决方案,请告诉我。提前感谢您提供任何线索。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)