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

求教SCO UNIX下使用sscanf()遇到的问题!!!(100分)

    来源: 互联网  发布时间:2015-05-17

    本文导语:  源代码如下: ------------------------------------------------- 1    #include  2    void 3    main(void) 4    { 5        char   string[100]; 6        double var; 7        int    ret; 8        strcpy ( string, "1501.0399...

源代码如下:
-------------------------------------------------
1    #include 
2    void
3    main(void)
4    {
5        char   string[100];
6        double var;
7        int    ret;

8        strcpy ( string, "1501.0399999999999636" );

9        ret = sscanf( string, "%lf", &var );

10       printf ( "var=[%lf]n", var );
11    }
-------------------------------------------------
输出:var=[1025.009293]

相同程序在AIX上输出为var=[1501.040000]

如果第5行改为 strcpy ( string, "1501.0399999999999630" ),输出正确var=[1501.040000]

使用atof()函数也出现同样问题。

感觉是SCO下sscanf()函数的一个bug,求教各位了!
给100分!

|
整型是与CPU有关的,big-endian和little-endian不同,需要用htons/htonl等来转换。浮点数是编译器处理的。C标准的规定上面我说了,其实就是把double作为一个8字节的字符数组,按照IEEE规定来解释。所以,只要编译器相同,救没有问题了。

ASN.1用在SNMP等等协议里进行异构网络环境通信,是非常成熟的技术,也有现成的API可用。

书:http://www.c7.com/ss7/books/ASN1_Complete.pdf
《ASN.1 Communication between Heterogeneous Systems》在网上也有电子版流传。

|
我在sco 5.0.5上试了一下,结果如下:
sco cc:               var=[1501.03999999999996000000]
gcc 3.2.1(自己编译的) var=[1025.00929261256056000000]

sco 5.0.6/gcc 2.95.2  var=[1501.03999999999996000000]

    
 
 

您可能感兴趣的文章:

  • 在增加用户的时候遇到的问题,求教
  • 求教高手struts开发中遇到的问题
  • 现在遇到linux屏幕方面的问题,高分求教!!
  • 配置以及登陆CVS遇到问题,求教!!!!!!!!!!!
  • 安装Unix时遇到的问题求教
  • 这两天想安装系统,遇到诸多不顺,求教
  • centos 更新NVIDIA显卡驱动遇到问题,求教
  • 看linux0.12内核遇到个很奇怪的赋值,求教用意.
  • 学习Linux遇到的问题,向各位求教
  • 急!!求教linux命令的使用:统计出/bin目录中文件的个数,追加到文件filea的结尾
  • vim使用问题求教
  • 求教一个简单的关于管道使用的问题,谢谢
  • 求教:磁盘挂接后FTP无法使用的问题(28日在线)
  • 求教使用built_root的方法
  • 求教:使用crontab如何完成每间隔80分钟的执行一个命令的方法?
  • 求教tcpreplay使用的一个疑惑
  • Linux 下使用 Java 求教
  • 求教: Linux环境下有没有类似VC++那样的、比较容易使用的集成开发环境?
  • 50分求教怎样在redhat9下使用u盘,希望各位电脑达人指教。
  • 求教ramdisk与tmpfs的相同点与区别,以及其使用方法
  • 使用连接池时能否使用预编译的PrepareStatement或CallableStatement,200分求教
  • 在linux下或者windows下,如何发带vlan tag的tcp,udp,arp包。用啥工具,请详细说明使用方法。求教
  • 求教 如何使用AWK 合并2个文件里数值
  • 求教!!linux下如何使用adsl!!
  • 求教下关于ubuntu和fedora的使用?
  • 求教:在一台机器上多个进程之间使用udp通信是否可靠,谢谢
  • 求教: 请问怎样使用ncurses的Field制作一个密码输入框,输入密码显示的*号 谢谢各位
  • 求教!写共享内存使用strcpy会出现段错误。用的是LINUX虚拟机
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求教求教,shell问题...各位大哥,帮忙下
  • 400分求教: 求教一简单问题,现场给分
  • 高分求教:如何将JAVA文件(.class)制作成可执行文件(.exe),求教方法或工具推荐
  • 求教:在UNIX中查找包含指定文字的文件名
  • 小白菜求教linux大鸟
  • JDK1.3.1初级问题求教
  • 初学者有问题求教!
  • 各路高手请进!高分求教,非常着急!
  • 高分求教的问题(关于SendMail设置)
  • 简单问题:从sun网站上当了个jdk1.4b3,bin后缀,求教怎么安装
  • 求教:知道当前时间,如何得到N天前的时间 ?
  • 求教:switch(condition)中的condition 必须为整型吗?
  • Linux远程访问的问题,高分求教:)
  • 求教:在Linux下如何做代理服务器?
  • 紧急求教!究竟Java里面有没有相当于C++的CPOINT的类阿?
  • 求教JAVA中XML解析问题
  • 50分求教,在JSP里如何将String转换成Double
  • 我刚装好,是不是需要配制环境变量?求教。
  • 400分求教JAVA皮肤的问题
  • 400分求教JAVA皮肤的问题


  • 站内导航:


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

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

    浙ICP备11055608号-3