努力不咕咕 2022-08-20 10:41 采纳率: 88.2%
浏览 21
已结题

确定特定数据的行数以及输出数据修改

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

在了解行数情况下,选取含有特定字符的数据时,不清楚如何确定特定字符所占用的行数
数据格式为:

img

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

//epoch[epochnum].satsum为数据总行数
for (int j = 0; j < epoch[epochnum].satsum;)
{
oifs.getline(str, 500);
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[j] = prn;
epoch[epochnum].obs[j] = column_2;
cout << j << " "<<prn<<" " << epoch[epochnum].oPRN[j]<<endl;
j++;
}
}

运行结果及报错内容

运行结果中 epoch[epochnum].oPRN[j]为空心方块,j和prn多次重复,结果如图

img

我想要达到的结果

j最终对应的只包括G所在行数,且epoch[epochnum].oPRN[j]与epoch[epochnum].obs[j]数据对应

  • 写回答

1条回答 默认 最新

  • 浪客 2022-08-20 11:03
    关注

    epoch[epochnum].oPRN[j]是什么类型?看图上好像是char,32显示为空格,小于32的是不可打印字符,会显示为方框。
    j要对应的只包括G所在行数,那么j不能作为循环变量,for要修改for (int i = 0,j=0; i < epoch[epochnum].satsum;i++),i记录读取的总行数,j记录需要的行数。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 8月28日
  • 已采纳回答 8月20日
  • 修改了问题 8月20日
  • 创建了问题 8月20日

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀