使用输入文件代替键盘输入(重定向标准输入)

缺省情况下,我们的程序运行在主控台窗口中。scanf、cout等输入函数(对象)会从键盘(标准输入)接收用户输入的信息,进行处理。

如果程序需要输入的数据比较多,当我们需要反复对程序进行修改和调试时,反复的输入数据就成为了一个很大的负担。

针对这种情况,Dev-C++ 2020提供了重定向标准输入的功能。通过这个功能,用户在运行和调试程序时,可以用一个指定的数据文件内容代替键盘输入。

注意:使用该功能调试程序需要使用Dev-C++ 2020自带的GDB。

1. 示例程序和数据

例如,下面这个示例程序,每次循环读入用户输入的一个数字后显示,直到用户输入0为止。

#include <stdio.h>

int main() {
    int i;
    while(true){
        if (scanf("%d",&i)<=0) {
            break;
        }
        if (i==0) {
            break;
        } 
        printf("--- %d --- %d\n",i*100,i);
    }
    printf("end!\n"); 
    return 0;
}

提供的数据文件内容如下:

1
2
3
4
5
6
7
8
9
0

用户可以这样进行操作:

2. 选择要代替键盘输入的文件

通过“运行”菜单的“参数…”菜单项,打开参数对话框,勾选“重定向标准输入(STDIN),然后单击其右下的选择文件图标,在打开的文件选择窗口选择要使用的数据文件,然后确定即可。

3.运行或调试程序

正常运行或者调试程序即可。

运行演示视频

调试演示视频