问题标签 [cfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
116 浏览

file - CFile 和 CStdioFile 在写入和读取中产生不同的结果

据我了解,当使用 typeBinary 标志创建时,CFile 和 CStdioFile 应该以相同方式工作,除了后者正在缓冲数据,因此具有更好的性能。

所以我写了以下代码来确认这一点:

令我惊讶的是,在测试过程中,由于 CStdioFile::Write 写入的数据量比预期的少,因此引发了许多 CFileException。

还报告了许多不同的读取数据。

为什么?

0 投票
0 回答
162 浏览

c++ - 使用 CloseHandle 关闭 Win32 文件句柄后是否可以保留?

我正在尝试调试在一台远程机器上发生的看起来像死锁的问题。我没有设法在我的本地机器上创建一个可重现的案例,也没有 100% 的时间在远程机器上发生。

我的主要问题是:文件句柄在被进程关闭后是否仍然可见?


代码相当复杂,但看起来基本上是这样的:

据我从https://docs.microsoft.com/en-us/cpp/mfc/closing-files?view=msvc-160得知,delete应该确保文件对象关闭其句柄(实际上是调用CloseHandle)。

我验证(因为观察到额外的副作用)程序必须通过delete调用,同时在查看 SysInternals 时文件在 30 分钟后仍然打开handle.exe

0 投票
0 回答
40 浏览

c - fwrite() 函数写入输入,因为它不在 BINARY 中?

我刚刚创建了一个简单的程序来写入 C 中的二进制文件。但是当通过记事本或任何编辑器打开 .dat 或 .bin 文件时,它会显示输入,因为它没有转换(在意义上转换是特殊符号我在其他人的设备上看到的)即使使用“wb”模式也是二进制的......

请帮助我,我在这里分享我的代码片段。