2012-02-05 20 views
1

ログファイルを作成する必要があります。私は、どのようなエラーがログファイルに入れなければならないのか分かりません。 は、私は、次のコードを持っている(ただし、ファイルの最後に足すされていない理由を私は知らない)私はpLOg-を持っています。test.cppでC++でログファイルを作成する方法

log.cpp

#include "log.h" 
#include <ctime> 
#include <iostream> 
using namespace std; 
Log::Log(char* filename) { 
//ofstream m_stream(filename); 
m_stream.open(filename); 

} 

>書きます( c)。私はなぜファイルを書き換えているのか理解できず、なぜファイルを書き込んでいないのか分かりません。

void Log::Write(char* logline) 
{ 
time_t rawtime; 
    struct tm * timeinfo; 

    time (&rawtime); 
    timeinfo = localtime (&rawtime); 
    m_stream.seekp (0, ios::end); 
    while ((m_stream.eof())){} 
    { 
    m_stream <<"current time: "<< asctime (timeinfo) <<" "<< logline << endl; 
    } 

} 

Log::~Log(){ 

    m_stream.close(); 
} 

LOG.H

#include <fstream> 

using namespace std; 

class Log { 
    public: 
    Log(char* filename); 
    ~Log(); 
    void Write(char* logline); 
private: 
    ofstream m_stream; 
}; 
+0

関連します。http://log4cpp.sourceforge。 net/ –

+0

'std :: ios :: out |で開くstd :: ios :: end'を実行すると、ファイルの最後から開始します。 – Xeo

+0

どこに追加すればいいですか? .open(file、std :: ios :: out | std :: ios :: end) – user1165435

答えて

3
m_stream.open(filename, ios_base::app | ios_base::out); 
+0

ああ、右、 'app' ... +1 – Xeo

+0

どのような種類のエラーをここに含めるべきですか?広告このエラーを見つけるにはどうすればよいですか? – user1165435

+0

あなたが作った間違いは技術的に論理エラーであり、エラーコードはそれを防ぐものではありません。それ以外の場合は、ファイルが "if(m_stream)..."や "if(m_stream.open()..."のように正しくオープンされていることを確認してください。 – Duck

関連する問題