悬赏:已修改,还有错,继续指出代码错误。

Big鹏 2008-10-28 09:40:43

第一贴后修改后的代码,但仍未能正确运行,只输出一个IP地内容,后面的就不循环输出了,没出现崩溃的错误提示,没有内存错误的提示,可见,代码肯定还有错误,望高手再次指点:


//改正后的代码:
//自动发现在线设备,思想是:输入一网段IP,如:192。168。1。2---192。168。1。254,便显示在线设备的IP地址,
//由于会是多个IP地址,所以用二维指针。
#include "snmp_pp/snmp_pp.h"
#include "snmp_pp/Oid.h"
#include <iostream>
#include <cstring>
using namespace std;

char **scan(char *startip, char *endip)
{
char **p=new char*[255];
int status, first, last, i;
int sum=0; //用来统计网段中扫描的IP数目,以在主函数中使用;
char *c=new char[16];
memset(c,NULL,16);
char *firstr1, *firstr2, *firstr3, *firstr4, *lasstr1, *lasstr2, *lasstr3, *lasstr4;
char str1[4], ip[16]; //注意此处应为4。
firstr1 = strtok(startip, ".");
firstr2 = strtok(NULL, ".");
firstr3 = strtok(NULL, ".");
firstr4 = strtok(NULL, ".");
lasstr1 = strtok(endip, ".");
lasstr2 = strtok(NULL, ".");
lasstr3 = strtok(NULL, ".");
lasstr4 = strtok(NULL, ".");

first = atoi(firstr4); //得到起始地址的最后一位数;
last = atoi(lasstr4); //得到终止地址的最后一位数;
for (i=first; i<=last; i++)
{

itoa(i, str1, 10);
strcat(ip, firstr1);
strcat(ip, ".");
strcat(ip, firstr2);
strcat(ip, ".");
strcat(ip, firstr3);
strcat(ip, ".");
strcat(ip, str1); //得到IP地址;


Snmp::socket_startup();
snmp_version version=version1;
Snmp snmp(status,0,false);

Pdu pdu;
Vb vb;
vb.set_oid((Oid)"1.3.6.1.2.1.1.7.0");
pdu+=vb;
CTarget ctarget((IpAddress)ip); //设置网管目标
ctarget.set_version(version);
ctarget.set_retry(1); //UDP包重发次数,默认值为1
ctarget.set_timeout(1);//超时时间设为1,注:总等待时间=超时值*(重传次数+1)
ctarget.set_readcommunity("public");
SnmpTarget* target;
target=&ctarget;
status=snmp.get(pdu,*target);
if(status==SNMP_CLASS_SUCCESS)//如果返回值成功,则说明该设备存在,把IP输入以供显示
{

++sum;
p[sum]=new char[16];
memset(p[sum],NULL,16);
strcpy(p[sum],ip);
}
}
itoa(sum,c,10);
p[0]=new char[16];
memset(p[0],NULL,16);
strcpy(p[0],c);
delete []c;
Snmp::socket_cleanup();
return &p[0]; //返回存在IP的数目;以供主函数调用;

}


void main()
{
int s;
char sip[16]="222.18.147.155";
char eip[16]="222.18.147.162";
char **q;
q=scan(sip,eip);
s=atoi(q[0]);
for(int i=0;i<s;i++)
{
cout<<"设备的IP地址为:"<<q[i+1]<<endl;
}
for(int j=0;j<s;j++)
{
delete[]q[j];
}
delete[]q;
}
...全文
146 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
OenAuth.Net 2008-10-29
  • 打赏
  • 举报
回复
LZ不要急,静下心来慢慢调,一定可以找出错误的
太乙 2008-10-29
  • 打赏
  • 举报
回复
q=scan(sip,eip);
s=atoi(q[0]);

看看q是多少,s是多少?
cba_v 2008-10-29
  • 打赏
  • 举报
回复
问一下 是用ace编的吗
这个 用不用学习下 mfc
帅得不敢出门 2008-10-28
  • 打赏
  • 举报
回复
这种问题还是单步调试下去.
我们这样用肉眼看,比较难发现问题.
xhs_lh04 2008-10-28
  • 打赏
  • 举报
回复
好快啊
你现在问题是只输出一次?你调试一下主程序里s是多少,看看问题所在
cyj626 2008-10-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 Chiyer 的回复:]
up
[/Quote]mark
星羽 2008-10-28
  • 打赏
  • 举报
回复
up
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zmlovelx 的回复:]
这种问题还是单步调试下去.
我们这样用肉眼看,比较难发现问题.
[/Quote]
呵呵!~

内容概要:本文系统研究了基于豪猪优化算法(CPO)的多无人机协同集群在三维空间中的避障路径规划问题,聚焦于实现以最低成本为目标的航迹优化,综合考虑路径长度、飞行高度、威胁规避及转弯角度等多个关键因素。通过构建精细化的三维环境模型与多无人机协同机制,采用Matlab平台实现CPO算法的仿真与验证,充分展示了该算法在复杂动态障碍环境下的高效搜索能力与全局优化性能。研究不仅涵盖了路径规划的数学建模与目标函数设计,还深入探讨了算法的收敛特性与鲁棒性,为智能群体系统在实际场景中的应用提供了理论依据与技术支撑。; 适合人群:具备一定编程基础和优化算法背景,从事无人机系统控制、智能路径规划、群体协同、人工智能与自动化等相关领域的科研人员、高校研究生及工程技术人员。; 使用场景及目标:①应用于多无人机协同执行侦察、灾害监测、应急救援、区域巡检等复杂任务中的自主路径规划;②为智能优化算法在三维动态环境下的路径决策问题提供可复现的技术范例;③支持研究人员对CPO算法与其他主流群智能算法(如PSO、GWO、WOA等)进行性能对比与改进研究,推动路径规划技术的发展。; 阅读建议:建议结合提供的Matlab代码进行实践操作,重点理解目标函数的多维度建模方式与CPO算法的迭代优化流程,可通过调整环境参数与约束条件进行仿真实验,对比不同算法在相同场景下的路径质量与收敛速度,从而深入掌握其优势与适用边界。
内容概要:本文围绕电动汽车参与电力系统运行备用的能力评估展开深入研究,利用Matlab代码实现对电动汽车集群提供运行备用服务的建模与仿真分析。研究重点在于量化电动汽车作为分布式灵活资源参与电网辅助服务的潜力,通过构建精细化的数学模型,分析其可调功率容量、响应速度、时空分布特性及聚合能力,并采用多面体聚合、内近似模型与闵可夫斯基和等先进方法精确刻画其可调度能力边界。研究进一步结合大规模电动汽车接入场景,探讨其在多时间尺度调度框架下参与调峰、调频等辅助服务的优化策略,评估其对提升高比例可再生能源电网灵活性与稳定性的贡献,最终通过仿真验证所提模型与方法的有效性与实用性。; 适合人群:具备电力系统分析、智能电网、新能源汽车或优化调度等相关专业背景,熟悉Matlab/Simulink仿真工具,从事科研、工程应用的高校研究生、科研人员及电力行业工程师。; 使用场景及目标:①精确评估大规模电动汽车集群在不同约束条件下可提供的运行备用容量;②研究电动汽车在日前、日内及实时调度中的动态响应能力与优化调度策略;③为高渗透率新能源电力系统提供基于移动储能的灵活性资源解决方案,支撑电网安全经济运行。; 阅读建议:建议结合Matlab代码与技术文档同步学习,重点关注多面体聚合建模、能力边界计算及优化调度算法的设计与实现,可进一步拓展至V2G(车辆到电网)、需求响应等互动场景进行二次开发与应用验证。

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧