替换文件的标准输入

时间:2008-10-14 23:27:34

标签: stdin scanf

我有一个像这样的fscanf程序:

fscanf(stdin,“%d%d,....

我有很多fscanf和我想测试的文件,文件都是这样的

10485770 15 51200000  -2 10 10 10485760 10485760 10 10485760 10485760 10 10485760 10485760

我的问题是我如何告诉程序或编译器不是从键盘输入,而是从这些文件中获取输入。这些程序是基准测试,在我得到输入的文件中,我确信有一种方法可以自动执行此操作,因为在某些情况下有很多输入。提前谢谢。

3 个答案:

答案 0 :(得分:3)

试试freopen。例如

freopen( "somefile.txt", "r", stdin );

答案 1 :(得分:3)

从命令行运行时,您可以使用'<'将文件重定向到标准输入操作

例如,在Windows上:

$ type input_file
10485770 15 51200000 -2 10 10 10485760 10485760 10 10485760 10485760 10 10485760
10485760
$ my_program.exe < input_file

或者在* nix:

$ cat input_file
10485770 15 51200000 -2 10 10 10485760 10485760 10 10485760 10485760 10 10485760
10485760
$ ./my_program < input_file

答案 2 :(得分:-2)

查找FILE结构。你会想要为这个解决方案使用FILE指针。