首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

sscanf格式请问

2013-12-10 
sscanf格式请教0.1488000010.2004899980.155780002我的buffer缓冲区内有这样的一串字符,我想通过sscanf转

sscanf格式请教
     0.148800001         0.200489998         0.155780002
我的buffer缓冲区内有这样的一串字符,我想通过sscanf
转成3个double的变量,该怎么写呢。前面是5个空格,中间是9个空格。
[解决办法]

引用:
我这样写的:
sscanf(buffer,"%lf%lf%lf",&dXCoordinate,&dYCoordinate,&dZCoordinate);
或者
sscanf(buffer,"     %lf         %lf        %lf",&dXCoordinate,&dYCoordinate,&dZCoordinate);
都是只能读出来第一个。


我试了,都能读出来:
    char buffer[]="     0.148800001         0.200489998         0.155780002";
    double dXCoordinate, dYCoordinate, dZCoordinate;

    sscanf(buffer,"%lf%lf%lf",&dXCoordinate,&dYCoordinate,&dZCoordinate);

    cout << "dXCoordinate = " << dXCoordinate << endl;
    cout << "dYCoordinate = " << dYCoordinate << endl;
    cout << "dZCoordinate = " << dZCoordinate << endl;


输出:
dXCoordinate = 0.1488
dYCoordinate = 0.20049
dZCoordinate = 0.15578
[解决办法]
cout << setprecision(10) << "dXCoordinate = " << dXCoordinate << endl;
这样显示效果更好

热点排行