0

コマンドラインから引数を読み取る次のコードがあります。文字列がこの形式 hw:1,0 の場合、分割したいと思います。

gboolean parse_one_option (gint opt, const gchar * arg, GError ** err)
{
    switch (opt) {
    case DEVICE:
        if (!strncmp(arg, "hw:", 3) && isdigit(arg[3]) && arg[4] == ',' && isdigit(arg[5])) {
            char *device = g_strdup (arg);
            break;
        break;

コンパイラは私に警告を出します:

warning: implicit declaration of function 'isdigit' is invalid in C99 [-Wimplicit-function-declaration]
                    if (!strncmp(arg, "hw:", 3) && isdigit(arg[3]) && arg[4] == ',' && isdigit(arg[5])) {
                                                   ^

そして別の質問:

GOptionContext と組み合わせて g_strdup を使用するのは正しい

4

1 に答える 1

9

#include <ctype.h>この関数/マクロを使用できるようにする必要があります。

于 2013-08-27T04:55:26.517 に答える