【发布时间】:2019-12-02 14:48:11
【问题描述】:
我有一个在嵌入式 Linux 上运行的 C++ 应用程序,它构建并调用 cURL 命令以将文件复制到 FTP 服务器。
std::string cmd = "curl --connect-timeout 10 --ftp-create-dirs "
+ localPath + filename + " "
+ ftpPath + filename + " "
+ userAuth;
int retVal = system(cmd.c_str());
根据构建命令的变量,这会返回意外的错误代码。例如,当我尝试复制一个不存在的文件时,retVal 是 6656 而不是预期的 26(“找不到本地文件”),当我关闭服务器时,retVal 是 1792 而不是预期的 7(“无法连接到服务器”)。
查看这些值,我很确定这与字节顺序有关,但我想了解根本原因。该设备具有 ARMv7 处理器并使用小端格式。
【问题讨论】:
-
1792 在另一个字节序中似乎是 7,所以可能是这种情况。
-
@Chipster 同样
26 = 0x1A,6656 = 0x1A00。 -
@Botje 实际上是这样,我只是没想到!
标签: c++ linux curl endianness