![]() |
#2
jojo595162015-03-31 19:39
|

void main()
{
char* hostbits="1:255.255.255.0 2:255.255.0.0 3:255.255.0.255";
int i1=0;
char* c1=(char*)malloc(16*sizeof(char));
NodeAddress mask;
NodeAddress networkAddr;
sscanf(hostbits,"%d:%s %*s %*s",i1,c1);
return;
}
{
char* hostbits="1:255.255.255.0 2:255.255.0.0 3:255.255.0.255";
int i1=0;
char* c1=(char*)malloc(16*sizeof(char));
NodeAddress mask;
NodeAddress networkAddr;
sscanf(hostbits,"%d:%s %*s %*s",i1,c1);
return;
}
程序是这样的,调试时到sscanf那句进去就会报错:0xC0000005: 写入位置 0x00000000 时发生访问冲突。
我想实现的效果是将每一段的冒号前的数字读入i1中,后面的掩码读入c1中。(如果这种格式不方便实现,改个格式也可以,只要能读入这些元素就行。比如用逗号代替空格分隔之类)
谢谢各位!