argv 変数の解析中に C で問題が発生しました。これがタスクです:
コマンドラインからCプログラムにいくつかのパラメーターを取得しました。そのうちの 1 つは "-r=20-5" のようになります。そこで「r」を見つけなければなりません。これは以下で動作します:
if (argv[i][0] != 0 && argv[i][1] != 0 && argv[i][2] != 0 &&
    argv[i][0] == '-' && argv[i][2] == '=') { /* Check the Variables */
    switch (argv[i][1]) {
        case 'r':
            /* what have to be here? */
            break;
}
今、私は「r」を持っています。しかし、2 つの異なる変数にも 20 と 5 が必要です。これが私が考えたものですが、うまくいきませんでした。私は何かを試しました
strsep(argv[i]+3, "-");
しかし、私のコンパイラ(Xcode)は警告をスローします(警告:互換性のないポインタ型から「strsep」の引数1を渡します)
問題を解決する方法を知っている人 (またはリンク) はありますか?
解決した後も警告が残っていたので、新しいコード全体を投稿するように回答されました。
int parse(int argc, const char *argv[]) {
    int i, x, y;
    int intTmp;
    long longTmp;
    char *strTmp;
    char *end;
    for (i = 1; i < argc; i++) {
        /* check for (-?=) */
        if (argv[i][0] != 0 && argv[i][1] != 0 && argv[i][2] != 0 &&
            argv[i][0] == '-' && argv[i][2] == '=') {
            /* IGNORE THIS
             * longTmp = strtol(argv[i]+3, &end, 10);
             * intTmp = analyseEndptr(longTmp, argv[i]+3, end);
             */
            switch (argv[i][1]) {
                case 'r':
                    strTmp = argv[i]+3;                 /* <= Here I got the warning */
                    x = atoi(strsep(&strTmp, "-"));
                    y = atoi(strsep(&strTmp, "-"));
                    printf("x=%d, y=%d\n", x, y);
                    break;
            }
        }
    }
}
警告: 警告: 'strsep' の引数 1 を互換性のないポインター型から渡しています
私のコンパイラは次のとおりです。IDEとしてXCodeを使用するMacOS上のgcc