与主题一样,我想从标准输入读取并打印到标准输出整个文件,它们之间没有区别。
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;
}
但输入和输出略有不同(输入:76 465KB,输出:76 498KB)
提前致谢。
修改
现在,它只有2KB的差异。
修改
没关系。
答案 0 :(得分:3)
如果输入文件具有\ n行结尾,则可能发生这种情况。输出文件在Windows上具有\ r \ n行结尾。这可以解释其中的差异。
如果您不想输出\ rs,可以关注this answer