4

Linux コマンドを実行し、C/C++ コードを使用して出力を読み取ろうとしています。exec を検索しますが、これは入出力を処理しません。

私が達成しようとしているのは、このコマンドを使用して無線 LAN に関する情報を取得しiwconfig、C/C++ コードから呼び出すことです。

また、NDKを使用してAndroid用のlibとして使用するには、適切なコードが必要です。

私はアンドロイドオープンソースで彼らがこの関数を呼んだのを見ます

このコードについてどう思いますか?

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;

}

これがリンクです

4

2 に答える 2

3

コマンドを実行して結果をファイルに出力し、それを読み取ってみてください。

system("iwconfig > temp.txt");
FILE *fp=fopen("temp.txt","w");
于 2013-03-01T18:43:20.453 に答える
0

私はアンドロイドオープンソースで彼らがこの関数を呼んだのを見ます

このコードについてどう思いますか?

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;
}

これがリンクです

于 2013-03-01T18:52:26.037 に答える