printf输出重定向到文件及添加时间戳
时间: 2024-03-06 13:46:44 浏览: 227
要将 `printf` 输出重定向到文件并添加时间戳,可以使用以下命令:
```
printf "your message" >> your_file.txt.$(date +"%Y-%m-%d_%H-%M-%S")
```
这将会将 "your message" 附加到 `your_file.txt` 文件的末尾,并在文件名后添加当前日期和时间的时间戳,格式为 `%Y-%m-%d_%H-%M-%S`。
相关问题
printf输出用freopen函数存为文件,并添加时间戳
好的,你可以使用以下代码实现:
```c
#include <stdio.h>
#include <time.h>
int main() {
// 获取当前时间
time_t t = time(NULL);
struct tm tm = *localtime(&t);
char timestamp[20];
sprintf(timestamp, "%d-%02d-%02d %02d:%02d:%02d",
tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday,
tm.tm_hour, tm.tm_min, tm.tm_sec);
FILE *fp;
fp = freopen("output.txt", "a", stdout); // 重定向输出到文件
printf("[%s] Hello, world!\n", timestamp); // 输出到文件
fclose(fp); // 关闭文件
return 0;
}
```
这段代码会将 `Hello, world!` 输出到文件 `output.txt` 中,并在每行开头添加当前时间戳。其中,`sprintf` 函数用于将时间转换为字符串格式,`freopen` 函数用于将标准输出重定向到文件,`printf` 函数用于将输出写入文件,`fclose` 函数用于关闭文件。
阅读全文