C++中的命令提示符
command prompt in 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++ 的新手,这也应该绕过 "command prompt has been disabled by your admin on windows"
提取运算符 (>>) 在到达第一个白色时停止读取-space 如果您的命令由 space 组成,则使用 std::getline:
std::string sCommand;
std::cout << "Enter eommand: ";
std::getline(std::cin, sCommand); // eg enter: color 1f
system(sCommand.c_str()); // c_str(): converts from class string to const char*.
当第一个参数调用程序而第二个参数传递给它时,无法将两个参数一个接一个地传递给系统,但您可以在大命令上创建然后传递它。
system("diskpart"); // invoking diskpart
system("list vol"); // here list vol is not passed to diskpart but only to cmd
system("notepad.exe C:/desktop/mylog.txt"); // ok
伙计们,我在这里做错了什么?
#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++ 的新手,这也应该绕过 "command prompt has been disabled by your admin on windows"
提取运算符 (>>) 在到达第一个白色时停止读取-space 如果您的命令由 space 组成,则使用 std::getline:
std::string sCommand;
std::cout << "Enter eommand: ";
std::getline(std::cin, sCommand); // eg enter: color 1f
system(sCommand.c_str()); // c_str(): converts from class string to const char*.
当第一个参数调用程序而第二个参数传递给它时,无法将两个参数一个接一个地传递给系统,但您可以在大命令上创建然后传递它。
system("diskpart"); // invoking diskpart
system("list vol"); // here list vol is not passed to diskpart but only to cmd
system("notepad.exe C:/desktop/mylog.txt"); // ok