我定义了如下的字符数组
char receiveBuf[4096];
memset(receiveBuf,0,sizeof(receiveBuf));CString Str;
Str.Format("%s",receiveBuf);
然后得到的类似于这样的字符串
12134.5667,2143.56
就是有两组数据但是用逗号分割!
我如何把这组数据解析成数字
double x=12134.5667
double y=2143.56
谢谢,最好有一段程序做例证
char receiveBuf[4096];
memset(receiveBuf,0,sizeof(receiveBuf));CString Str;
Str.Format("%s",receiveBuf);
然后得到的类似于这样的字符串
12134.5667,2143.56
就是有两组数据但是用逗号分割!
我如何把这组数据解析成数字
double x=12134.5667
double y=2143.56
谢谢,最好有一段程序做例证
这样可以吧。
+1
或者送CString 的Find方法也可以
char received[]="12.365 36.0107";
double dbl[2];
char *pTmp=received;
dbl[0]=atof(pTmp);
while(*pTmp !=' ') pTmp ++;// skip '12.365'
while(*pTmp ==' ') pTmp ++;// skip ' '
dbl[1]=atof(pTmp);
sscanf("12.365,36.0107","%f,%f",&fa,&fb);
为什么这样我调试出来的结果是
fa=-9.2559604621218753e+061
fb=-9.2559604772524855e+061
这是为什么呢?int a, b, c;
sscanf("2006:03:18", "%d:%d:%d", &a, &b, &c);
而这个就很正常。