1

我正在使用 UCI 协议设计一个国际象棋游戏。该程序需要行命令作为输入。

我的问题是我是否需要一个与解析这些命令的函数分开的main()函数,以及如何获取解析的输入?我意识到这char* argv是在函数参数中命名的,但我发现 usingargv = cin.get()不起作用。

我看过很多教程,但没有一个回答任何一个问题。

如果措辞不好,我也很抱歉。

4

1 回答 1

3

我可以建议非神话编程:

#include <string>
#include <vector>

int main(int argc, char**argv)
{
    const std::vector<std::string> args(argv, argv+argc);

    // be merry and use `args`

}

更新嗯。我猜你的意思是控制台/标准输入。在这种情况下,读取循环可能就是您想要的:

std::string line;
while (std::getline(std::cin, line))
{
     // process command in line
}
于 2012-06-05T23:31:43.373 回答