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 ![]() http://baike.baidu.com/item/strcat 百度百科说"d 和 s 所指内存区域不可以重叠且 d 必须有足够的空间来容纳 s 的字符串。" 改成 char o1[1000] 试试? |
![]() | 2 theoractice 2016-02-10 19:32:28 +08:00 ![]() 你把常量字符区的内存地址赋给 strcat 了。 自己另开个数组,换 sprintf 。 |
![]() | 3 fkbd OP |
![]() | 4 yksoft1 2016-02-10 20:17:23 +08:00 ![]() 1 、这是 C++,不是 C 语言 2 、为啥不使用 std::string 3 、比起使用 reg 命令,为啥不直接使用 Windows API 访问注册表 |
![]() | 5 wizardforcel 2016-02-10 20:22:29 +08:00 via Android ![]() 你都用了 c++了还不用 std::string 。简直难以容忍。 |