问题遇到的现象和发生背景
在了解行数情况下,选取含有特定字符的数据时,不清楚如何确定特定字符所占用的行数
数据格式为:
问题相关代码,请勿粘贴截图
//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多次重复,结果如图
我想要达到的结果
j最终对应的只包括G所在行数,且epoch[epochnum].oPRN[j]与epoch[epochnum].obs[j]数据对应