2016-03-31 11 views
-3

私のプログラムが日時を使って何をしているのかを記録したいと思っていました。だから私はコンパイル時に小さな関数を書いたが、log.txtを開かず、日付も表示しないという点を除いて、エラーもランタイムエラーもない。ファイルに日付を書き込めません

#include <chrono> 
#include <ctime> 
#include <fstream> 
#pragma warning(disable:4996) 

void log(const char*& text) 
{ 
    std::fstream fs; 
    fs.open("log.txt", std::fstream::in | std::fstream::out | std::fstream::app); 

    auto now = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now()); 

    fs << ctime(&now) << text << std::endl; 
} 

int main() 
{ 
    const char* log("Testin codenz stuff"); 
} 
+0

私は 'std :: fstream :: in'と' std :: fstream :: app'を同時に使用しません。 – Logicrat

+0

あなたの理由を詳述してもらえますか? –

+0

@KiloKingポインタリファレンスに関する主なエラーを修正しました。[これはうまくいきます](http://coliru.stacked-crooked.com/a/c702c4117bc0943d)。 –

答えて

1

このライン:

const char* log("Testin codenz stuff"); 

が...それは関数呼び出しではありません値「TESTIN codenzのもの」とタイプconst char *logという名前のローカル変数を定義しています。ちょうどこれを行う:

log("Testin codenz stuff"); 
+0

技術的には 'log(" Testin codenz stuff ");'という行はありません正しい、 'const char *'引数を渡す必要があります。 –

+1

関数シグニチャの '&'を取り除きます。 – eduffy

関連する問題