3

scanf在 CI 中,可以使用和通过管道读取和写入文件printf,如下所示:

freopen ("input.txt", "r", stdin);
freopen ("output.txt", "w", stdout);

在 Java 中,你可以做同样的事情

System.setIn

和朋友。

如果您需要经常在使用文件和标准输入/标准输出之间进行交换,并且如果您的代码不受文件指针的影响,这将非常方便。

Go有类似的东西吗?

4

1 回答 1

6

您可以分配给os.Stdinos.Stdoutos.Stderr

import "os"

os.Stdin, err = os.OpenFile("input.txt",
    os.RDONLY | os.O_CREATE, 0666)
os.Stdout, err = os.OpenFile("output.txt",
    os.O_WRONLY | os.O_CREATE | os.O_TRUNC, 0666)
于 2014-06-30T13:39:44.587 回答