首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于stdin的重定向解决办法

2013-12-22 
关于stdin的重定向在window环境下,如果我用freopen函数将stdin重定向到一个txt文件,可不可以将文件的内容

关于stdin的重定向
在window环境下,如果我用freopen函数将stdin重定向到一个txt文件,可不可以将文件的内容像键盘直接输入一样回显到屏幕上。
[解决办法]
tail -f 
[解决办法]
仅供参考

#include <stdio.h>
#include <string.h>
FILE *f;
int c;
void main(int argc,char **argv) {
    if (argc==3) {
        if (stricmp(argv[1],"-a")) goto USAGE;
        f=fopen(argv[2],"a");
        if (NULL==f) goto FNULL;
        goto FOK;
    } else if (argc==2) {
        if (0==strcmp(argv[1],"/?")) {
        USAGE:
            fprintf(stderr,"Usage: program 
[解决办法]
 tee [-a] file\n");
            return;
        }
        f=fopen(argv[1],"w");
        if (NULL==f) goto FNULL;
    FOK:
        while (1) {
            c=getchar();
            if (EOF==c) break;
            if (EOF==fputc(c,f)) {
                putchar(c);
                break;
            } else {
                if (EOF==putchar(c)) break;
            }
        }
        fclose(f);
    } else {
    FNULL:
        while (1) {
            c=getchar();
            if (EOF==c) break;
            if (EOF==putchar(c)) break;
        }
    }
}

热点排行