错误:使用系统命令行从'int'到'const char *'[-fpermissive]的无效转换

问题描述 投票:0回答:1

我正在尝试使用C ++中的netsh函数运行system()命令。

这是我的代码:

#include<iostream> // cin / cout
#include<stdlib.h> // system()
using namespace std;

int main(){

    system('netsh interface show interface | findstr /C:"Wi-Fi" /C:"Name"');

}

我认为我需要在'netsh之前添加一些内容来解决此错误,但是我不知道是什么字符,我已经尝试过:system(L'netsh interface show interface | findstr /C:"Wi-Fi" /C:"Name"');但没有成功,

c++ string-literals
1个回答
2
投票

您传递的是multi-character literal,而不是string literal。使用单引号'...'会创建一个char,这是可以提升为int的数字类型,这就是为什么您会收到有关int传递给const char*的错误的原因预期。 system()期望使用以N结尾的C样式字符串,即以char字符结尾的'\0'值数组。以字符串文字形式,您可以使用双引号"..."来创建这样的数组。

© www.soinside.com 2019 - 2024. All rights reserved.