如何使用fprintf将512个连续字节保存到文件中

时间:2018-10-04 08:20:06

标签: c++ c visual-c++

我要将连续的512个内存位置值保存到csv文件中

        memcpy(signals, ascanSamples, ascanSizeInBytes);
        fprintf(fptr1, "%f,", *(signals));

使用fprintf如何实现它。

我尝试过

fprintf(fptr1, "%f,", 512,512, *(signals)) but it is not working

2 个答案:

答案 0 :(得分:1)

这不起作用,它只会输出第一个值(可能还因为signals的类型不是floatdouble,所以您需要提供该信息):< / p>

fprintf(fptr1, "%f,", *(signals));

这不起作用,因为参数与fprintf格式字符串不匹配:

fprintf(fptr1, "%f,", 512, 512, *(signals))

您的问题尚不清楚,但是从您的评论中我想您可能需要以下内容:

#include <stdio.h>

int main()
{
  short values[] = { 1,2,3,4 };  // your values (using 4 values instead of 512
                                 // for demonstration purpose)

  for (int i = 0; i < 4; i++)
  {
    printf("%f,", (float)values[i]);  // using printf instead of fprintf for
                                      // demonstration purpose
  }
}

您需要在此处循环,无法解决。

输出

1.000000,2.000000,3.000000,4.000000,

对于更适合您需求的代码,我们需要知道您的signals变量的类型。

答案 1 :(得分:-1)

假设您正在写入512个字节,则可以使用%c格式说明符并在信号上进行512次迭代。