2017-04-13 3 views
0

J'utilise Windows Visual Studio. Je veux lire dans un fichier .txt en C++ en utilisant mex. Voici l'exemple minimal:Lecture et écriture de fichiers en utilisant mex

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

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

ifstream data; 

return; 
} 

Quand je lance mex test.cpp dans Matlab, je reçois l'erreur suivante.

erreur en utilisant test.cpp MEX

G: \ test.cpp (35)

: erreur C2065: 'ifstream': identificateur non déclaré

G: \ test.cpp (35)

: erreur C2146: erreur de syntaxe: manque ';' avant

G 'data' identificateur: \ test.cpp (35)

: erreur C2065: 'data': identificateur non déclaré

je voudrais aussi fournir en sortie un fichier .txt, mais une erreur similaire se produit lorsque j'essaie ofstream. D'après ce que je vois, je pense que Matlab ne reconnaît pas les en-têtes

#include <iostream> 
#include <fstream> 

Que puis-je faire pour lire/écrire des fichiers dans MEX? Y at-il une autre façon de lire/écrire des fichiers dans mex autre que iostream et fstream?

Répondre

0

Cela a été résolu. J'ai réalisé que j'ai juste oublié d'ajouter using namespace std. Je ne peux pas croire que j'ai passé de nombreuses heures à essayer de comprendre cette erreur simple.