2017-01-20 2 views
-2

いくつかのデータをテキストファイルとして保存したい、最初のtxtファイルにヘッダ情報が含まれ、もう1つのテキストファイルにセンサからストリームされたデータが保存されるので、インターネットの助けを借りて私は、私はメソッドに渡すと、「.TXT」ファイルとして保存したい私の「でDataStream」の入力変数を持つ別の.cppファイルからメソッドを呼び出す

#include "datalogger.h" 
#include <QDebug> 
#include <iostream> 
#include <QFile> 

DataLogger::DataLogger(QObject *parent) : QObject(parent) 
{ 

} 

    DataLogger::~DataLogger(){ 

} 
void DataLogger::save(DataStream &input){ 
    saveAsText(input); 


} 
void DataLogger::saveAsText(DataStream &input){ 

        QTextStream outHeader(&outFileHeader); 

        outHeader << "[CAPTURE SETTINGS]\n" 
           << "Filename: " <<  SettingsSingleton::instance().getFileName() << ".txt \n" 
           << "Samples: " <<  QString::number(input.size()) << "\n" 
           << "Duration: " <<  QString::number(input.back().time) << "ms \n" 
           << "Sample rate: " << QString::number(SettingsSingleton::instance().getSampleRate()) << " Hz\n" 
           << "Source: " <<  SettingsSingleton::instance().getSource() << "\n"         

        outFileHeader.close(); 

       } 

       QFile outFile(SettingsSingleton::instance().getFileName() + ".txt"); 

       QTextStream out(&outFile);      

        for (int i ; i<input.size();i++){ 
          const EcgStreamObject tmp=input.at(i); 
              out << tmp.toText() << endl; //"\n";  

        } 

        outFile.close(); 
       }  

} 

しかし、私はどのように何のノウハウもしない、以下の「datalogger.cpp」ファイルを作成しましたDataStream変数がある別の ".cpp"ファイルから "void DataLogger :: save(DataStream &入力)"メソッドを呼び出します。 私はC++に非常に新しいですので、できるだけ簡単にしてください。 ありがとうございました

+0

他のファイルの完全なコードを表示することができます。 – eyllanesc

答えて

0

私はあなたの質問が正しい場合は、C++でヘッダファイルを作成して使用する方法です。

learncpp.comのthis記事(例:cplusplus.com)またはthis(英語)のように、これに関する多くの情報が既にあります。

0

「datalogger.h」を他のファイルに追加するだけです。

他のファイルからメソッドDataLogger :: saveを呼び出すと、プログラムはプログラム(つまり、ここに投稿したファイル)にリンクされた実装を検索し、実際にその作業を実行するために使用します。

C/C++で長時間働いている場合は、このケースやその他の基本をカバーするので、Stefanの回答も重要です。

+0

Qtを使ってファイルや文字列の書式を書くなどの簡単な作業には注意が必要です。 Qtライブラリを適切に動作させるためには、あなたのプログラムにQtライブラリファイルを含める必要があります。Qtのコンパイル/リンク/実行は、完全なQt GUIを使っていない時の私の過去の経験では少し毛づくくしてしまいます。純粋なC/C++で同じ結果を達成するための非常に簡単な方法があります。 Stefanのリンクを再度見てください。 – MrJman006

関連する問題