微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C++ noskipws 操纵器影响非格式化输入函数性能

如何解决C++ noskipws 操纵器影响非格式化输入函数性能

我有一个 C# 应用程序,它将 C++ 可执行文件(由 Visual Studio 创建)作为单独的进程运行。我遇到了一些涉及 noskipws 操纵器的奇怪行为,我意识到这在以下 C++ 代码片段中完全没有作用。 ifStm是二进制模式打开的ifstream对象,ofStm是二进制追加模式打开的ofstream对象。

ifStm >> noskipws;
for (int ch; (ch = ifStm.get()) != EOF;)
   ofStm.put((char)ch);

循环的目的是将输入文件中的每个字符附加到输出文件中,它在直接运行或从没有 noskipws 语句的 C# 应用程序运行时都能完美运行。但是,当使用 noskipws 语句从 C# 应用程序运行时,输出文件最终会随机丢失字符或到处都是垃圾。看来 noskipws 实际上对非格式化输入函数性能产生了负面影响,我想知道是否有人知道原因。

谢谢:-)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。