主题:菜鸟求救,高手们帮我看看这个程序哪里出错了。。。
[code=c]
// 机房IP设置工具.cpp
#include "StdAfx.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "malloc.h"
int main(int argc, char* argv[])
{
int i;
char n[4];
char *ipset;
char *ipset2=" 255.255.255.0 192.168.1.1 0 >nul";
ipset=(char *)malloc(256*sizeof(char));
if(!ipset) {printf("OVERFLOW\n"); exit(-2);}
ipset="netsh interface ip set address 本地连接 static 192.168.1.";
printf("\n说明:机房IP将统一设置为 机器号+100 ,最小值为1\n");
printf("请输入机器号: ");
scanf("%d",&i);
itoa(i+100,n,10);
strcat(ipset,n);
strcat(ipset,ipset2);
system(ipset);
free(ipset);
system("pause");
return 0;
}
[/code]
程序要实现的功能是输入一个机器号之后,自动填写
[code=c]
netsh interface ip set address 本地连接 static 192.168.1.X 255.255.255.0 192.168.1.1 0 >nul
[/code]
当中的X,然后执行设定IP的功能,可是这个程序编译时没有错误,执行到strcat函数的时候,程序就崩溃了,不知为何,求教高手。。。
// 机房IP设置工具.cpp
#include "StdAfx.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "malloc.h"
int main(int argc, char* argv[])
{
int i;
char n[4];
char *ipset;
char *ipset2=" 255.255.255.0 192.168.1.1 0 >nul";
ipset=(char *)malloc(256*sizeof(char));
if(!ipset) {printf("OVERFLOW\n"); exit(-2);}
ipset="netsh interface ip set address 本地连接 static 192.168.1.";
printf("\n说明:机房IP将统一设置为 机器号+100 ,最小值为1\n");
printf("请输入机器号: ");
scanf("%d",&i);
itoa(i+100,n,10);
strcat(ipset,n);
strcat(ipset,ipset2);
system(ipset);
free(ipset);
system("pause");
return 0;
}
[/code]
程序要实现的功能是输入一个机器号之后,自动填写
[code=c]
netsh interface ip set address 本地连接 static 192.168.1.X 255.255.255.0 192.168.1.1 0 >nul
[/code]
当中的X,然后执行设定IP的功能,可是这个程序编译时没有错误,执行到strcat函数的时候,程序就崩溃了,不知为何,求教高手。。。