服务器上的分段错误,但不是本地机器

服务器上的分段错误,但不是本地机器,第1张

概述如标题中所述,该程序正在我的本地机器(ubuntu 9.10)上运行,但不在服务器( linux)上运行.它是godaddy的网格托管主机包. 请帮忙.. 这是代码: #include <stdio.h>#include <stdlib.h>int main(int argc, char **argv){ long offset; FILE *io; unsigne 如标题中所述,该程序正在我的本地机器(ubuntu 9.10)上运行,但不在服务器( linux)上运行.它是godaddy的网格托管主机包.

请帮忙..

这是代码:

#include <stdio.h>#include <stdlib.h>int main(int argc,char **argv){    long offset;    file *io;    unsigned char found;    unsigned long loc;    if (argc != 2)    {        printf("Syntax: find 0000000\n");        return 255;    }    offset = atol(argv[1]) * (sizeof(unsigned char)+sizeof(unsigned long));    io = fopen("index.dat","rb");    fseek(io,offset,SEEK_SET);    fread(&found,sizeof(unsigned char),1,io);    fread(&loc,sizeof(unsigned long),io);    if (found == 1)        printf("%d\n",loc);    else        printf("-1\n");    fclose(io);    return 0;}

编辑:这不是我的计划.
我希望我知道足够的C来解决它,但我已经到了最后期限.该程序旨在找到PI序列中第一次出现的7位数字,index.dat包含一个巨大的数组=>位置.

http://jclement.ca/fun/pi/search.cgi

编辑2:我已经使用更新的代码与空指针测试,仍然得到相同的结果.
该程序在我的本地计算机上正常运行,此错误仅发生在服务器上.

解决方法 最可能的事情是fopen失败了 – 你没有检查它的返回值,看你是否真的有一个有效的指针. (当您尝试在下一行中使用该NulL指针时,会出现段错误.) 总结

以上是内存溢出为你收集整理的服务器上的分段错误,但不是本地机器全部内容,希望文章能够帮你解决服务器上的分段错误,但不是本地机器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1212758.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存