for(int i=0;i<10;i++){
char o1[]="reg add \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\" /v ProxyServer /d \"";
char o2[]="\" /f";
char ip[100][100]={"183.140.162.58","1.14.1.1"};
strcat(o1,ip[i]);
cout<<strcat(o1,o2)<<endl;
}
发现当数组中出现 ip : 183.140.162.58 之后会自动跳出循环
1
CDuXZMAPgHp1q9ew 2016-02-10 19:31:56 +08:00 1
http://baike.baidu.com/item/strcat
百度百科说"d 和 s 所指内存区域不可以重叠且 d 必须有足够的空间来容纳 s 的字符串。" 改成 char o1[1000] 试试? |
2
theoractice 2016-02-10 19:32:28 +08:00 1
你把常量字符区的内存地址赋给 strcat 了。
自己另开个数组,换 sprintf 。 |
3
fkbd OP |
4
yksoft1 2016-02-10 20:17:23 +08:00 2
1 、这是 C++,不是 C 语言
2 、为啥不使用 std::string 3 、比起使用 reg 命令,为啥不直接使用 Windows API 访问注册表 |
5
wizardforcel 2016-02-10 20:22:29 +08:00 via Android 1
你都用了 c++了还不用 std::string 。简直难以容忍。
|