我要将连续的512个内存位置值保存到csv文件中
memcpy(signals, ascanSamples, ascanSizeInBytes);
fprintf(fptr1, "%f,", *(signals));
使用fprintf如何实现它。
我尝试过
fprintf(fptr1, "%f,", 512,512, *(signals)) but it is not working
答案 0 :(得分:1)
这不起作用,它只会输出第一个值(可能还因为signals
的类型不是float
或double
,所以您需要提供该信息):< / 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次迭代。