可以这么说,我目前正在编写一个命令行“解析器”,到目前为止它一直在工作,直到我尝试了几种添加选项/参数的方法。
void parser::nextCom() {
cout << parser::prompt; // parser::prompt = "> "
string com;
getline(cin, com);
char the_command[5]; // i want this to store the command e.g. "go" given that go is a command
for (int i = 0; i < com.size(); i++) {
if (com[i] == ' ') break;
else the_command[i] = com[i];
}
cout << the_command << endl;
}
the_command
该命令已复制,但在打印到控制台时会显示一些非常不需要的字符。
如果我将“向北”作为命令传递,这就是我得到的:
goÌÌÌÌÌÌÌÌÌÌÌÌÌÌØNi
我不太确定 C++ 中的 char 数组,但我不知道我是如何得到这个输出的。任何帮助都将不胜感激。有关代码的任何问题,或者如果您需要更多我的代码,请发表评论,在此先感谢