努力不咕咕 2022-08-31 10:10 采纳率: 94.4%
浏览 33
已结题

C++数据读取到数组中

问题遇到的现象和发生背景

将特定位置数据读取存入数组,需读取下列红框中的数据

img

问题相关代码,请勿粘贴截图

if (strstr(str, "G") != NULL)
{
char column_1[100];
double column_2;
sscanf(str, "%s %lf", column_1, &column_2);
int prn = 0;
sscanf(column_1, "G%d", &prn);
epoch[epochnum].oPRN[k] = prn;
epoch[epochnum].obs[k] = column_2;
}

运行结果及报错内容

只能读取前两个数据,第54-66位的数据无法读取

尝试解决办法

将一行全部读取,中间存在第34位为1或为空值的情况

img

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-08-31 10:19
    关注

    你这代码本来就只读了前两项数据啊
    你这每行的数据格式都不统一,也没有区分标志,没办法统一解析啊
    或者如果每行你想取得的数据的偏移量是一致的也好,比如确定就是54位开始的12个字符,那也可以获取。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月9日
  • 已采纳回答 9月1日
  • 创建了问题 8月31日