使用 mex 读写文件

Reading and writing files using mex

我正在使用 windows visual studio。我想使用 mex 读取 C++ 中的 .txt 文件。这是最小的例子:

#include <mex.h> 
#include <iostream>
#include <fstream>

void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{

ifstream data; 

return;
}

当我在matlab中运行 mex test.cpp时,出现以下错误。

Error using mex test.cpp

G:\test.cpp(35)

: error C2065: 'ifstream' : undeclared identifier

G:\test.cpp(35)

: error C2146: syntax error : missing ';' before identifier 'data'

G:\test.cpp(35)

: error C2065: 'data' : undeclared identifier

我也想输出一个.txt文件,但是当我尝试ofstream时出现了类似的错误。据我所知,我认为 matlab 无法识别 headers

#include <iostream>
#include <fstream>

我可以对 mex 中的 read/write 文件做些什么?除了 iostream 和 fstream 之外,mex 中还有另一种 reading/writing 文件的方式吗?

已解决。我意识到我只是忘了添加 using namespace std。不敢相信我花了很多时间试图找出这个简单的错误。