从未知文件复制到C中的文本文件

时间:2017-03-25 13:46:57

标签: c linux file fopen fwrite

我有一个关于从未知bin文件复制到C中的文本文件的问题。 linux中终端输入的示例(运行程序的命令):./program -f file.txt <file.bin在这种情况下-f是来自switch case的标志,file.txt是一个文本文件,内容被复制到文件中,如果文件是不存在它将被创建,file.bin是一个文件,您将从中复制内容,但您不知道文件的名称。

编辑:

if(o == 1){
    FILE *f;
    char ch;

    f = fopen(writeTarget, "wb+");

    while(fscanf(stdin, "%s", & ch)){
        printf("Read %s", ch);
        fputs(ch, f);
    }



    /*while(1) {
        ch = fgetc(stdin);
        if(ch == EOF) {
            break;
        } else {
            putc(ch, f);
        }
    }*/
    fclose(f);
}

这是我尝试使用命令./main file.txt <file.bin从stdin打印到文件的代码,但它被卡在无限循环中或者我得到分段错误(核心转储)。我在这里错过了什么?在评论中还有另一个我尝试过的例子。注释中的代码不会卡在无限循环中,如果文件不存在,它会创建一个文件,但它不会打印任何文件。

0 个答案:

没有答案