ifstream读取GPS数据文本文件,数据是用逗号以及分号隔开的该如何读
ifstream读取GPS数据文本文件,数据是用逗号以及分号隔开的该怎么读
现有若干行(行数已知)形如下列格式的数据:#HEADINGA,COM1,0,19.5,FINESTEERING,1751,41243.050,00000000,9722,10985;SOL_COMPUTED,NARROW_INT,4.269080639,247.762725830,2.489746809,0.0,0.068533905,0.116395399,"AAAA",14,14,14,13,0,01,0,33*1788d10a
其中分号之前表示头信息,可以看做一个数据。我想用fstream类读其中的两个数据247.762725830和2.489746809,每一行均如此,存入a[n][0],a[n][1]中,请问该如何写代码,谢谢各位大侠不吝赐教
------解决方案--------------------
------解决方案--------------------
scanf("%[^;]*s;%*s,%*s,%*f,%f,%f", &a[n][1], &a[n][1]);
关键是找规律,比如定宽或者特定的类型。
现有若干行(行数已知)形如下列格式的数据:#HEADINGA,COM1,0,19.5,FINESTEERING,1751,41243.050,00000000,9722,10985;SOL_COMPUTED,NARROW_INT,4.269080639,247.762725830,2.489746809,0.0,0.068533905,0.116395399,"AAAA",14,14,14,13,0,01,0,33*1788d10a
其中分号之前表示头信息,可以看做一个数据。我想用fstream类读其中的两个数据247.762725830和2.489746809,每一行均如此,存入a[n][0],a[n][1]中,请问该如何写代码,谢谢各位大侠不吝赐教
------解决方案--------------------
如果每一行都是这样的话,可以读一行到一个buf缓冲区里,
然后用sscanf提出其中的数据出来,记得用double类型来提出,
然后赋值给double数组a[][];
发送的时候记得大小端的问题,就好啦
------解决方案--------------------
scanf("%[^;]*s;%*s,%*s,%*f,%f,%f", &a[n][1], &a[n][1]);
关键是找规律,比如定宽或者特定的类型。