使用fscanf来读取行交替的文本数据

这段代码展示了如何使用C++从交替格式的文本文件中读取IData和QData数据。程序首先打开指定路径的文件,然后读取行数,分配内存,接着逐行读取并解析double类型的IData和QData数值。读取完成后,进行数据操作,最后释放内存并关闭文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

假设有两种数据:IData和QData,它们在文件中以行交替重复出现:

Line count
IData1
QData1
IData2
QData2
...

可以用如下程序读取文本中的数据:

int main()
{
   const char *filePath = "C:\\IQ.txt";
   FILE *f = fopen(filePath, "r"); // read only mode

   if (f == NULL) {
      printf("Open file failed\n");
   }
   else {
      int size;
      char rt = fscanf(f, "%d\n", &size);

      double *IData = (double*)malloc(size * sizeof(double));
      double *QData = (double*)malloc(size * sizeof(double));

      for (int i = 0; i < size; ++i) {
         fscanf(f, "%lf\n", &IData[i]);
         fscanf(f, "%lf\n", &QData[i]);
      }

      // data operation here

      free(IData);
      free(QData);
   }

   fclose(f);

   return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值