当前位置:  技术问答>linux和unix

请教为什么在C++编译通过并实现的程序,在linux下就会出错(解决马上给分啊!谢谢)

    来源: 互联网  发布时间:2015-03-09

    本文导语:  我在vc++6.0通过的程序,在Linux下用Gcc编译可以通过,但执行文件会在中途出现 ”寄存器错误“ 这种信息,文件也在中途停止执行。 我编的是从一个文件中读进一串数,然后写入另一个文件中,用了文件系统,为什...

我在vc++6.0通过的程序,在Linux下用Gcc编译可以通过,但执行文件会在中途出现
”寄存器错误“ 这种信息,文件也在中途停止执行。
我编的是从一个文件中读进一串数,然后写入另一个文件中,用了文件系统,为什么会这样呢?

程序:(这是里面的一个函数)

unsigned char ReceiveFrame ( FILE * fp )
{
unsigned char buffer[MAXLEN],*cp=NULL,a[MAXLEN];
struct Frame  ptr;
int len = 0,i;
unsigned char temp[2];

memset(buffer, 0x00, MAXLEN);
while ( fgets((char *)buffer, MAXLEN, fp) != NULL) 
{
buffer[strlen((char *)buffer)] = '';
        printf("nnnThe frame you receive is : ");
printf("%s", buffer);
   
sscanf((char *)buffer, "%02x ", &ptr.flag);//这里开始就有错了,在Windows下可以真确的得出结果,LInux就不行了。
        sscanf((char *)buffer + 3 , "%04x ", &ptr.D_address);
sscanf((char *)buffer + 8, "%04x ", &ptr.S_address);
sscanf((char *)buffer + 13, "%02x ", &ptr.type);

        
for(i=0,len=0;sscanf((char *)buffer + 16  + len * 3, "%s", temp) != EOF;len++,i=i+2)
{     
 
  sscanf((char *)buffer + 16  + len * 3, "%s", temp);
         
  //printf("%s", temp);
  
  a[i]=temp[0];
  a[i+1]=temp[1];
  
        }
a[i-4]='';
printf("%s", a);
   cp=a;

printf("nReceive String is %s  nn", cp);

    sscanf((char *)buffer + strlen((char *)buffer) - 6, "%02x ", &ptr.H_FCS);
        sscanf((char *)buffer + strlen((char *)buffer) - 3, "%02x ", &ptr.L_FCS);

printf("FCS value is %02x %02xnn", ptr.H_FCS,ptr.L_FCS);

SendAck(cp);
    
}
return *cp;
}

|
up

    
 
 

您可能感兴趣的文章:

  • 请教学习c++有那些经典书籍?
  • 请教:unix或linux下的c++标准库在哪个目录??谢谢!
  • 请教: linux下用c++写最简单的socket程序如何写?
  • linux菜鸟请教:C++的学习
  • 请教:SCO OpenServer(TM) Release下能进行C++开发吗?
  • 请教个unix下c++编译器的问题
  • 请教:linux下C++与Flash怎么通讯
  • ¥¥¥¥¥请教,什么是LINUX上最好的C++集成开发环境
  • 请教一个关于C++的基础问题
  • 新手请教:请问如何将以前Windows平台下的c++工程改造到linux系统平台下
  • 请教为什么在C++编译通过并实现的程序,在linux下就会出错
  • 请教,linux下,C/C++编程时候默认的中文编码是什么?
  • 请教Linux下多线程C++编程
  • 请教linux下C++编译环境
  • 请教一个linux c++调试问题(关于内存泄露)
  • 请教:在solaris下测试C++程序是否存在内存泄漏等问题用什么测试工具?
  • 请教几个Linux下C++问题
  • 请教关于用c编译出来的.a文件和用c++编译出来的.a文件的互用问题
  • c++程序中使用pthread编译不过,请教大家?????
  • 请教各位大虾:Red Hat Linux 9.0中编译C++程序出现:/usr/bin/ld: cannot find -lm
  • 请教:JSP编译器编译成字节码,跟别的编译器编译出来的有什么不同呢?
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 用Jdk编译时出现提示要加 -deprecation 再编译,请教??
  • gcc 编译的问题,请教各位
  • 请教一个GCC编译选项
  • 万能的CSDN啊,100分请教高手一个编译内核传参的问题!
  • 请教:有没有把java编译好的.java和.class文件编译成各个平台下的可执行文件??.exe?着急着急
  • 请教:嵌入式Linux交叉编译工具----版本选择的问题
  • 请教:编译的时候为什么说不认识WindowAdapter?
  • 新手请教linux下的c语言编译!
  • 请教一个gcc静态编译的问题。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教busybox make出错 回者有分
  • 编译JSP文件出错,这可能是什么问题,请教高手!
  • 在RedHat9中添加用户useradd老是出错 请教一下
  • 删除文件出错,请教!
  • 请教:在别的系统上运行正常,但是在 SCO 5.9 上就出错了
  • 安装RH后引导出错,请教
  • 请教高手 mkfs.ext2 出错
  • 新内核引导时出错。请教。
  • 请教高手(100分):关于B/S中的中文输入法问题。用微软的智能ABC在jTextArea老出错
  • 请教:写守护进程函数时出错!
  • 请教一个关于Makefile的问题。提示出错:make: *** 没有规则可以创建“ioctl”需要的目标“gcc”。 停止。
  • 我用的是atmel一个成熟的开发板。有一个触摸屏驱动程序,以<M>的方式编译为模块,编译时提示某个外部函数没有定义,但如果以<*>的方式编译进内核,则不会出错。请教下可能是什么原因?
  • 请教:一个让程序自动重启的脚本,但是一直出错,请高手帮忙分析下
  • 请教:make ARCH=arm CROSS_COMPILE=arm-linu- menuconfig出错
  • 请教,extern使用出错(很小的程序)
  • urb传输过程出错,初学,不知问题在哪,请教!
  • IP地址数字互转 iis7站长之家
  • 一个EJB例子运行出错,100分请教!一定给分!
  • 移植opencv2.0时编译出错,请教如何修改。
  • Linux定时器问题,使用ITIMER_REAL实现系统调用gettimeofday()所实现的功能时出错,请教各位!
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)
  • 请教这种循环的执行过程


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3