匿名使用者
匿名使用者 發問時間: 電腦與網際網路程式設計 · 1 0 年前

請問c語言如何把時間一筆一筆寫入文字檔?

各位大大好

小弟有個問題

我們都知道c語言有time.h

我的程式可以每秒都輸出一個顯示

例如

已經過了1秒

已經過了2秒

已經過了3秒

已經過了4秒

今天我想把時間顯示和寫入文字檔結合在一起

寫入文字檔也ok

但我一直搞不定自動產生的即時時間如何寫入文字檔

我想要的結果是

2007/9/28 19:37 寫入的字串1

2007/9/28 19:39 寫入的字串2

2007/9/28 19:40 寫入的字串3

2007/9/28 19:52 寫入的字串4

在每一個時間點多筆寫入到同一個文字檔裡請問該如何做?

謝謝

2 個解答

評分
  • 1 0 年前
    最佳解答

    我嘗試這麼解, 參考看看:

    #include <stdio.h>

    #include <stdlib.h>

    #include <time.h>

    const int LINE_SIZE = 256;

    void log(FILE *fp, char *msg)

    {

    char buf[LINE_SIZE];

    time_t ltime;

    struct tm today;

    errno_t err;

    time(&ltime);

    err = localtime_s(&today, &ltime);

    if (err){

    printf("localtime_s failed due to an invalid argument.");

    exit(1);

    }

    strftime(buf, LINE_SIZE, "%Y/%m/%d %H:%M", &today);

    fprintf(fp, "%s %s\n", buf, msg);

    }

    int main(int argc, char *argv[])

    {

    FILE *fp;

    // Open for read (will fail if file does not exist)

    if( fopen_s( &fp, "log.txt", "a+" ) !=0 ) {

    printf( "Log file opened failed\n" );

    exit(1);

    }

    log(fp, "Hello World!");

    fclose(fp);

    }

    寫程式樂無窮, 請到我的部落格留言討論寫程式.

    http://tw.myblog.yahoo.com/jw!3i3FzI6WFRlKmk3YMLgp...

  • ?
    Lv 5
    1 0 年前

    開啟檔案時不要用W改用A

還有問題?馬上發問,尋求解答。