C:可重复执行的命令行程序框架

一个简单的C语言的命令行程序框架,使程序在执行完毕后不退出,等待用户的新一次输入。

程序开始,用户输入,程序输出,return 0,结束。用户若想尝试另一个输入,就不得不重新开始程序。在 Windows,这就将是一次并不必要的双击。

如何省去重新开始,让程序执行完不退出,等待用户的另一次输入?修改源代码,将主要部分放入循环之中?本文给出的就是这样一个框架。

//可重复执行的命令行程序框架
//By Li Zhaoyang

//include
#include 
    
#define MAX_INPUT_LENGTH 65536

int main(){
    puts("欢迎使用ASCII编码查看器。");
    puts("请输入一个整数。输入exit退出程序。");
    while (233)    {
        putchar('\n');
        int n;
        //输入 
        {
            char buffer[MAX_INPUT_LENGTH];
            printf(">>");
            gets(buffer);
            if(!strcmp(buffer, "exit")) return 0;
            //执行scanf并进行异常输入检查
            if((sscanf(buffer, "%d", &n)!= 1)||
                ((n<0)||(n>255))){
                puts("输入不合法");
                continue;
            }
        }
        //主要代码开始
        printf("'%c', %d\n", n, n);
        //主要代码结束 
    }
    return 0;
} 

效果是这样:

E:\_K\p\C>a.exe
欢迎使用ASCII编码查看器。
请输入一个整数。输入exit退出程序。

>>65
'A', 65

>>-10
输入不合法

>>e
输入不合法

>>exit

E:\_K\p\C>

(完)

发表评论

电子邮件地址不会被公开。 必填项已用*标注