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 (将#修改为@)