哪位大牛帮忙看下这个

Coins_ 2015-07-27 01:28:51
我找了一段查看本机网络信息的源码,然后在一台win7的机子上可以运行并实现,但是换到另一台xp上就出错。(详见图片) 求大神给解惑,不胜感激!
...全文
199 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Coins_ 2015-07-27
  • 打赏
  • 举报
回复
那这应该是我的机子问题了,可是问题出在哪啊。。
GKatHere 2015-07-27
  • 打赏
  • 举报
回复
本机测试, 无任何问题 另外: 1: char result[1024 * 40] = ""; 没错, 将第一个字节置0; 不过, 将 40K 的大小作局部变量放在栈中真的合适么, 不怕溢出? 2:

 char buffer[1024] ; 
if (fgets(buffer, 1280, pipe)) //   怎么超过分配在大小了
QIUSQJF 2015-07-27
  • 打赏
  • 举报
回复
引用 1 楼 yc1012523 的回复:
see_ip 中 char result[1024 * 40] = ""; 改成 char result[1024 * 40] = {0}; ""; 指向一个常量地址, 常量地址不能被赋值, 调用execmd报错
不要误导别人好不好,看清楚什么才叫常量指针
	char* cbuf = "123456";
	char vbuf[] = "123456";
Coins_ 2015-07-27
  • 打赏
  • 举报
回复
多谢两位。。我去试试
赵4老师 2015-07-27
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
yc1012523 2015-07-27
  • 打赏
  • 举报
回复
see_ip 中 char result[1024 * 40] = ""; 改成 char result[1024 * 40] = {0}; ""; 指向一个常量地址, 常量地址不能被赋值, 调用execmd报错

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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