我使用遞歸函數給出目錄,掃描它並打印出所有文件和子目錄。它還將文件列表打印到txt文件。在遞歸函數中使用fprintf時遇到問題
我stdout是:
[test]
[empty]
[notreally]
[real empty]
- haha.txt
- readme.txt
- test2.c
- test.c
當文件夾是在[]。這是我所期望的標準輸出是,但是當我檢查我的log.txt它是不一樣的:
[real empty]
[notreally]
- haha.txt
[empty]
- readme.txt
[test]
- test2.c
- test.c
如果我改變FILE *日誌= FOPEN(LOGFILEPATH,「A +」);到FILE * log = fopen(logFilePath,「w」);那麼輸出到log.txt應該是:
[test]
- test2.c
- test.c
.txt
你打開日誌文件,然後立即關閉主要的日誌文件?錯字? – Duck
這只是在我運行程序之前清除日誌的內容,而不是每次都手動執行。 – user2923535
打開它爲「w」已經這樣做。如果該文件已經存在,它將截斷該文件並開始寫入位置0。您正在打開,截斷,關閉,打開,追加。 – Duck