夥計們,我在這裏做錯了什麼?在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