我是 c++ 的新手。
我阅读了一些有经验的 C++ 编码人员的代码示例,并注意到他们运行了一个以 scanf 开头的文件,该文件读取了大量输入。
但是,他们没有使用任何指定的 ifstream 来读取文件,他们似乎只是运行 scanf,就好像整个输入 .txt 文件已经在流中一样。
这是因为他们正在使用一些特殊的 IDE,您可以在其中将输入文件加载到标准流中吗?
我只是想运行他们的代码来复制他们正在做的事情,但我需要一些方法来读取 5000 多行的文本文件,然后对其运行 scanf。
我该怎么做。我没有使用任何类型的 IDE,只是 Notepad++ 。如果有人推荐一个 IDE,我会接受它,但除此之外,我只是想获得有关如何执行此操作的建议。谢谢。
最佳答案
首先,如果他们仍在使用 scanf()
,则他们不是有经验的 C++ 程序员。如果他们有经验,他们会使用 C++ I/O 设施而不是遗留的 C 设施。
话虽如此,如果您可以在程序上进行重定向,则可以很容易地使用接受标准输入的函数(scanf()
或 cin
),使用行喜欢:
myProg <myInputFile.txt
someOtherProgWhichProducesOutput | myProg
这会将文件 myInputFile.txt
“附加”到 myProg
程序的标准输入,或者从另一个程序获取输出并将其提供给 的输入code>myProg
,它使 UNIX 及其兄弟(在此上下文中包括 Windows,因为它也具有重定向和管道)如此强大,允许您从相对简单的命令中将复杂的管道串在一起。
关于c++ - 将文件加载到输入流中并使用 scanf(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16028866/