将C语言的数组存为bin文件,在matlab读出,并与matlab计算的结果做对比

vs c++

string path_A = "D:/Input_A_" + to_string(i+1) + ".bin";
FILE* outfile = fopen(path_A.c_str(), "wb");
fwrite(A, sizeof(float), 4 * 100, outfile);
fclose(outfile);

fwrite函数原型:

size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)

  • ptr -- 这是指向要被写入的元素数组的指针。
  • size -- 这是要被写入的每个元素的大小,以字节为单位。
  • nmemb -- 这是元素的个数,每个元素的大小为 size 字节。
  • stream -- 这是指向 FILE 对象的指针,该 FILE 对象指定了一个输出流。

matlab

path_A = ['./data_000/Input_A_' num2str(i) '.bin'];
fid1 = fopen(path_A ,'rb');
[A,count1] = fread(fid1,[4 100],'float32');
fclose(fid1);
diff_a = Demon_Input_Float - a;
for j=1:4
    for k=1:100
         if abs(diff_a(j,k))>1.0e-7
             disp('误差超过 1.0e-7');                  
          end
     end
end

你可能感兴趣的:(笔记,c语言,matlab)