C语言,fopen打开txt文件,fprintf写数据,需要循环。
有下面程序:
float a[N] = { 0 }, b[N] = { 0 };
for (int i = 0; i < N; i++)
{
a[i] = (float)(sin(2 * M_PI * i * F1 / N) + 0.25* sin(2 * M_PI * i * F2 / N));
}
FILE* fp;
fp = fopen("text.txt", "w");
if (feof(fp))
{
printf("NULL");
exit(0);//表示如果读取为空文件就正常退出
}
for (int i = 0; i < N; i++)
fprintf(fp, "%.6f\n", a[i]);
fclose(fp);
比较复杂的看这些:
【精选】C语言 文本文件读取、写入与定位(详细介绍)_c语言写入文本文件_Gretel Tade的博客-CSDN博客
其中fread和fwrite其实都可以。
MATLAB,是一样的:
fs = 100;
t = 0:1/fs:1;
x = sin(2*pi*t*3)+0.25*sin(2*pi*t*40);
filename = 'data.txt';
fid = fopen(filename, 'w');
for i=1:length(x)
fprintf(fid, '%.6f\n', x(i));
end
fclose(fid);
更多写入方式dlmwrite等:
Matlab写入txt文件的方法_笔记大全_设计学院 (python100.com)
dlmwrite将矩阵直接按照原始形状写入txt,用逗号隔开。
不需要fopen,直接:
dlmwrite(filename,A)