C++-读取并打印整个文件

C++ - Read and print whole file

本文关键字:文件 打印 读取 C++-      更新时间:2023-10-16

就像在主题中一样,我想从标准输入读取并打印到标准输出整个文件,它们之间没有区别。

program < data.txt > data.out
diff data.txt data.out // <- the same

文件包含Unicode字母。

我成功地写下了以下代码:

char s[100000];
int main()
{
    setmode(1, _O_BINARY);
    char *n;
    do {
        n = gets(s);
        s[strlen(s)-1] = 'n';
        printf("%s", s);
    }
    while(n);
    return 0;
}

但输入和输出略有不同(输入:76465KB,输出:76498KB(

提前谢谢。

编辑:

现在,它只差2KB。

编辑:

没事。

如果输入文件有\n行结尾,则可能发生这种情况。在Windows上,输出文件将以\r\n行结尾。这可以解释这种差异。

如果您不想输出\rs,您可以按照这个答案