如果切换输入方式(控制台/文件),对输入字符串长度的特定限制为何不一样?
  • 板块学术版
  • 楼主Herman526
  • 当前回复35
  • 已保存回复35
  • 发布时间2023/1/11 13:33
  • 上次更新2023/10/24 04:45:33
查看原帖
如果切换输入方式(控制台/文件),对输入字符串长度的特定限制为何不一样?
786834
Herman526楼主2023/1/11 13:33

平常,我们用的控制台输入可以一目了然地看到信息,控制台还可以输出大量内容,而 OI 却要求用文件输入。今天,我便用 Windows 7\text{Windows 7} 电脑测试了两者最多能输入几个字符。由于是对比输入的结果,我只改变输入流,而输出全采用文件(因为“属性”里能快速查看文件大小)。在输入、输出无多余换行符时,我得到了如下结果:

输入 220(1048576)2^{20}(1048576) 个字符时的单次输出大小(括号外为属性“大小”值,内为“占用空间”值。若无括号表示两者同):

使用 io 库控制台输入文件输入
C++ 库509B(4096B)\text{509B(4096B)}1048576B\text{1048576B}
C 库4094B(4096B)\text{4094B(4096B)}1048576B\text{1048576B}
看到差距如此之大的数据,我对控制台输入的信心大失所望(因为我原本想让它输入 个字符的!),却对文件输入有了新的认识。谁能告诉我,为什么文件能将数据“乖乖收下”,控制台却要“偷懒”?
2023/1/11 13:33
加载中...