1

我的程序正在接受用户输入,然后将输入的第一个单词与接受的命令数组进行比较。将输入的第一个单词(在它被标记化之后)与字符串数组进行比较的最佳方法是什么?

例子:

将字符串"pwd"与包含的数组进行比较{"wait", "pwd", "cd", "exit"}

在此先感谢您的帮助!

4

1 回答 1

3

我会做类似以下的事情:

int string_in(const char* string, const char** strings, size_t strings_num) {
    for (size_t i = 0; i < strings_num; i++) {
        if (!strcmp(string, strings[i])) {
            return i;
        }
    }
    return -1;
}

检查数组中的每个字符串,如果相同则返回索引。-1如果没有找到返回。
注意:易受溢出等影响,请在尝试使用此代码之前修复它们。这会让你知道该怎么做,但不是好的代码。

于 2013-09-14T22:08:52.513 回答