【发布时间】:2013-02-16 08:25:03
【问题描述】:
我尝试运行 Linux 命令并使用 C/C++ 代码从中读取输出。 我搜索 exec 但这不处理输入/输出。
我想要实现的是通过使用此命令iwconfig,从 C/C++ 代码中调用它来获取有关无线 LAN 的信息。
我还需要一个合适的代码来使用 NDK 将其用作 android 的 lib。
我在android开源中看到他们称之为这个函数
你觉得这段代码怎么样?
int wpa_ctrl_request(struct wpa_ctrl *ctrl, const char *cmd, size_t cmd_len,
char *reply, size_t *reply_len,
void (*msg_cb)(char *msg, size_t len))
{
DWORD written;
DWORD readlen = *reply_len;
if (!WriteFile(ctrl->pipe, cmd, cmd_len, &written, NULL))
return -1;
if (!ReadFile(ctrl->pipe, reply, *reply_len, &readlen, NULL))
return -1;
*reply_len = readlen;
return 0;
}
这是 link
【问题讨论】:
-
结果是什么意思?输出流还是返回码?
-
它不是由 C/C++ 代码调用的,它是非此即彼的。你用什么命令发出
iwconfig?那将是第一个查看您是否可以获得返回值的地方 -
命令的返回值,在我的例子中是无线局域网的信息。
-
你不想要结果,你想要输出。
-
我不知道,但我需要此命令返回的信息@
标签: android c++ c linux android-ndk