我可以声明输出到控制台的文件吗?

Can I declare file for output to console?

我有一个例程要编写(writeLines with sprintf)以将一些值输出到控制台。

有人要求我对 txt 文件执行相同的输出。

我现在所拥有的是复制第一组 "writeLine"s 并将它们更改为 write(..., file)

我找不到是否可以向控制台声明文件。我在想的是有一个函数来执行此操作并传递一个参数(文件),然后只传递一组用于写入和调用的语句

diskfile <- file("results.txt", "w")
printresults("console")   # This is the part I don't know how
printresults(diskfile)

如果我对文件执行打印结果,我可以从中读取并呈现给控制台。我正在使用:

cat(readlines, ...)

这很好用,但我更喜欢函数解决方案。

有办法吗?

感谢您的宝贵时间,

编辑>>>更具体

我可以写 (sprintf(...), CONSOLE) 吗?

sink()(我的最爱)会成功吗?

sink("file.txt", append = FALSE, split = TRUE)
print("Hello world")
sink()

使用 split = TRUE 时,输出会同时传递到控制台和文本文件,第二次调用 sink() 会将输出还原回控制台。

控制台和file.txt打印

"Hello world"