Matlab中导入文本文件中的数据 矩阵合并 以及C++中删除文件操作

今天用到了Matlab读取文本文件中按照一定格式存储好的数据,然后进行后续的分析计算等,因此涉及到Matlab的文件读取,记录在这里,供以后查阅:

 1 fid = fopen(\'train.set\', \'r\');
 2 A = [];
 3 B = [];
 4 while(~feof(fid))
 5     tline = fgetl(fid);
 6     [a,b]=textread(tline, \'%f %f\');
 7     A = [A; a];
 8     B = [B; b];
 9 end
10 C = [A, B];

其中train.set中保存着所有的待读取的文件的文件名,在这个例子中每个文件中存储的是n行两列的数据,因此按照上述程序进行导入之后,这两列数据就存储到a,b之中了,为了将所有的数据存放在一个变量中,后面进行了矩阵的合并,即将所有的a都一次追加到A后面,B亦然,最后再将A与B合并成C。

下面是在C++中调用系统函数进行文件删除

1 #include <windows.h>
2 
3 char saveName[1024];
4 sprintf(saveName, "%s%d_%08d.jpg", path.c_str(), video_id, frameId);
5 imwrite(saveName, src);
6 ....
7 ....
8 ....
9 DeleteFile(saveName);

需要注意的是,如果实在程序中打开的文件,必须要在关闭之后才能正确删除,如下所示:

 1 #include <windows.h>
 2 
 3 FILE *pfFileOut = NULL;
 4 char buffer[1024];
 5 sprintf(buffer, "%s%d_%08d.txt", xmlpath.c_str(), video_id, frameId);
 6 pfFileOut = fopen(buffer, "wb");
 7 ...
 8 ...
 9 fclose(pfFileOut);
10 pfFileOut = NULL;
11 DeleteFile(buffer);

Matlab中导入文本文件中的数据 矩阵合并 以及C++中删除文件操作