Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 执行ls命令并打印输出_C++ - Fatal编程技术网

C++ 执行ls命令并打印输出

C++ 执行ls命令并打印输出,c++,C++,所以我做了这个: #include <iostream> #include <string> using namespace std; int main() { while(true) { string x; string y; string an1[3] = {"quit","exit","leave"}; double ver = 0.1; cout << "basic0.1% "; c

所以我做了这个:

#include <iostream>
#include <string>
using namespace std;

int main()
{
  while(true)
  {
     string x;
     string y;
     string an1[3] = {"quit","exit","leave"};
     double ver = 0.1;
     cout << "basic0.1% ";
     cin >> x;
    if (x == "upgrade")
     {
      system("yay -Syyu");
     }
     else if (x == "install")
     {
      cout << "What do you want to install?" << "\n";
      cin >> y;
      system(("sudo yay -S " + y).c_str());
     }
     else if (x == "version")
     {
       cout << "version: " << ver << "\n"; 
     }
     else if (x == "clear")
     {
       system("clear");
     }

     else if(x == "quit" || "leave" || "exit")
     {
       break;
     }
     else if(x == "ls")
     {

     }
  }
  return 0;
}
在else-ifx==ls{}中,我想显示命令的输出,我尝试放置systemls; 但它只是退出了程序。 顺便说一句,这应该是一个针对linux的小型终端模拟器,但我还不确定,我只是玩得很开心。

systemls。很好。你的问题是:

    else if(x == "quit" || "leave" || "exit")
    {
      break;
    }
假设您键入ls。然后x包含字符串ls。x==quit为false,因为您没有键入quit。leave为true,因为它是非空指针。exit为true,因为它是非空指针。false | | true | | true为true,因此程序退出。

systemls。很好。你的问题是:

    else if(x == "quit" || "leave" || "exit")
    {
      break;
    }
假设您键入ls。然后x包含字符串ls。x==quit为false,因为您没有键入quit。leave为true,因为它是非空指针。exit为true,因为它是非空指针。false | | true | | | true为true,因此程序退出。

FWIW,我建议您不要使用系统-更快、更专注,可能也更安全。FWIW,我建议您不要使用系统-更快、更专注,可能也更安全。使用系统是一种非常不雅观的做法。将popen作为替代方案,这将允许您创建一个子进程来执行命令,并提供两个通信流来与子进程通信。使用system是一种非常不雅观的方法。将popen作为替代方案,这将允许您创建一个子进程来执行命令,并提供两个通信流来与子进程通信。