首页 > 解决方案 > C++ 在使用 system() 和 while 时会忽略 if 语句

问题描述

#include <iostream>
#include <vector>
#include <string>
#include <fstream>
#include <sstream>
#include <bits/stdc++.h>

using namespace std;

int main(){
    while (true)
    {
        cout << "$ ";
        char ui[999];
        cin.getline(ui, sizeof(ui));
        if(ui == "clear")
        {
            system("cls");
        }
        else
        {
            system(ui);
        }
    }
}

即使 ui 等于 clear,它也会运行 else。是因为它是一个字符数组而不是一个字符串吗?还是因为system()?

标签: c++while-loopsystem

解决方案


推荐阅读