伙计们,我在这里做错了什么?在C++中的命令提示符
#include <iostream>
#include <string>
using namespace std;
int main()
{
while (true){
std::string cmd;
cin >> cmd;
const char* com = cmd.c_str();
cout << com << endl;
// cout << sizeof(com) << endl;
system(com);
}
return 0;
}
每次我运行这个它工作正常,但是当你输入类似cd ../它分开的话,并运行它们作为两个不同的命令,这样的第一张CD,然后../和它给了我一个错误。任何想法我做错了什么? 我是新的C++反正也这是应该绕开“命令提示符已被您的管理员在Windows禁用”
因此'cout'会一直读到第一个白色空间,所以'cd'和'../'将分开读取,因为白色空间将两者分开。 –
并在'system'调用中发出'cd'语句不会改变下一次系统调用的当前目录... –
问题出在'std :: cin >>'那里不能得到空格使用'std :: cin .getline'代替 – Kazz