【发布时间】:2018-08-16 10:55:09
【问题描述】:
我有一个代码,可以在 Linux 上启用代理。它应该像这样工作:我正在启动程序,在(“stop”以禁用代理)中写入IP:port,程序写入终端export http_proxy://(entered proxy),如果我输入“stop”,它会写入unset http_proxy .代码如下:
#include <iostream>
using namespace std;
int main(){
char proxy[20];
char choice;
cout << "Enter ip:port ('stop' to disable): ";
cin >> proxy;
if(proxy != "stop"){
cout << "Do you want to use it as ftp(y/n): "
cin >> chioce;
}
if(proxy == "stop"){
system("unset http_proxy");
system("unset ftp_proxy");
}
else if(choice == 'y'){
system("export http_proxy=http:/"+'/'+proxy+'/');
system("export ftp_proxy=http:/"+'/'+proxy+'/');
}
else{
system("export http_proxy=http:/"+'/'+proxy+'/');
}
}
但是当我用 g++ 编译时,我得到了这个错误:
error: invalid operands of types ‘const char*’ and ‘char [20]’ to binary ‘operator+’
这是我第一次使用""+a+""。你能帮帮我吗?
【问题讨论】:
-
即使您修复了编译错误,您的程序也不会做任何有用的事情,除了在屏幕上打印消息。无论如何,执行的命令都不会产生任何影响。环境变量不能以这种方式工作。你会发现,无论你做什么,你的 shell 的变量都不会设置。
标签: c++ linux terminal proxy g++