2012-02-29 44 views
12

Tôi đang cố gắng học C++ với thư viện Eigen.viết ma trận để tập tin trong eigen?

int main(){ 
    MatrixXf m = MatrixXf::Random(30,3); 
    cout << "Here is the matrix m:\n" << m << endl; 
    cout << "m" << endl << colm(m) << endl; 
    return 0; 
} 

Làm thế nào tôi có thể xuất khẩu m vào một tập tin văn bản (Tôi đã tìm kiếm các tài liệu và đã không tìm thấy đề cập đến một chức năng văn bản)?

Trả lời

16

Nếu bạn có thể viết nó trên cout, nó hoạt động cho bất kỳ std :: ostream:

#include <fstream> 

int main() 
{ 
    std::ofstream file("test.txt"); 
    if (file.is_open()) 
    { 
    MatrixXf m = MatrixXf::Random(30,3); 
    file << "Here is the matrix m:\n" << m << '\n'; 
    file << "m" << '\n' << colm(m) << '\n'; 
    } 
} 
+2

Colm() phải làm là gì? Nó không làm việc cho tôi. – Ludi

0

tôi đã viết chức năng này:

void get_EigentoData(MatrixXf& src, char* pathAndName) 
    { 
      ofstream fichier(pathAndName, ios::out | ios::trunc); 
      if(fichier) // si l'ouverture a réussi 
      { 
      // instructions 
      fichier << "Here is the matrix src:\n" << src << "\n"; 
      fichier.close(); // on referme le fichier 
      } 
      else // sinon 
      { 
      cerr << "Erreur à l'ouverture !" << endl; 
      } 
    } 
+0

Merci, câu trả lời ở trên cũng đang hoạt động ... :) – user189035

Các vấn đề liên quan