问题标签 [binarywriter]
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.
c# - BinaryWriter 不寻常的十六进制
我在通过 BinaryWriter 传输数据时遇到了一些问题。
当我尝试发送
它进入输出到 0x00 - 通过
是什么导致了这个问题?
问候
.net - 如何在文件末尾仅使用 BinaryWriter 附加数据?
也许在 Stackoverflow 中提出了类似的问题,但我似乎无法找到解决问题的方法。
我只是想打开一个可写的二进制流,并能够使用相同的流将数据附加到文件中。显然,如果您打开一个文件进行写入,它将删除其中包含的所有数据并开始一个新数据。另外,如果你打开一个文件只是为了阅读,你不能写,只能读。人们确实在网上建议使用两个单独的流——一个用于阅读,另一个用于写作。我认为这在这种情况下行不通。
看看我的示例代码,我想做类似的事情:
c# - 如何使用 BinaryWriter 写入大文件
我有一些编写大型二进制文件的程序。我遇到了这个问题:有时我的程序在文件写入时崩溃而没有抛出任何错误(块捕获不执行。我编写了一些测试控制台应用程序来查找并解决这个问题。像这样:
我有这样的结果:有些文件的大小为 0。例如编号为 8、10、15、17、...的文件
在我家(功能较弱)的计算机上,所有文件都已正确写入,在我的工作计算机上,其中一些文件的大小为 0。如果我取消注释 Thread.Sleep(1); (或以其他方式减慢我的程序)所有文件在我的工作计算机上也是正确的,但是这样的“修复”在我的服务器计算机上不起作用。谁能解释发生了什么错误,我该如何解决?我尝试使用 try-cath-finally 代替使用,但 catch 块不会捕获此错误。
c# - 从服务器到客户端接收字节数组?BinaryReader / BinaryWriter 错误?
嗨,我是 C# 的新手,做服务器和客户端以通过 tcp/ip 套接字连接共享文本文件。我使用 BinaryReader / BinaryWriter 从客户端上传到服务器,但从服务器到客户端卡住:从客户端到服务器:
在服务器中:
公共无效ReadCallBack(IAsyncResult ar){
流.Dispose();
现在我尝试从服务器到客户端使用相同的方式但出现错误
stateObject 是错误的?
c# - 将图像写入 Process.StandardInput.BaseStream 的更快方法
我试图将大量桌面捕获的图像发送到编码器(FFmpeg)标准输入。
以下代码示例有效。
该CaptureScreen()
功能在 5-10 毫秒内提供图像。
如果我将图像保存在 MemoryStream 中,几乎不需要时间。
但我只能每 45 毫秒将 1 个图像保存到 proc.StandardInput.BaseStream。
问题是:
我可以更快地完成保存过程吗?
我尝试以这种方式获得稳定的 60 fps
c# - BinaryWriter 在 AppendMode 的开头写入脏字符
该问题发生在 NTService 的执行过程中,该 NTService 在文件中写入了许多报告。这是我使用的简单代码:
输出在文件中正确刷新,但在每次写入开始时会出现两个奇怪的字符 (�)。我在多台机器上部署了该服务,但问题仍然存在。
在此先感谢您的帮助。
c++ - 使用 std::stringstream 读取/写入无符号字节
我正在尝试将无符号字符写入字符串流。
我需要写的信息涉及0x00。我需要将值 0 到 40 写为实际数值,而不是 ASCII 字符。
编辑:澄清一下,我写的不仅仅是0-40的值。它必须是二进制的。进来的这些东西需要保持原样,而不是一旦写入流就变成字符......
以下是我正在做的事情的概要。
最终发生的是 0x00 导致字符串流结束,而 0x01 似乎永远不会到达那里。
我正在以类似的方式阅读:
它似乎不想玩得很好,因为 0x00 被写入并导致整个事情刚刚结束。
就是这样,还是我错过了什么?我尝试过使用 ios_base::binary,也尝试过使用 uint8_t 而不是 TCHAR,但这似乎会造成一团糟。我担心这可能是需要的路线,但我想在我去做之前确定。
长话短说,我正在尝试找到与 C# 的 BinaryReader/Writer 等效的 C++。
谢谢!
c# - 重新打开后继续在文件末尾写入
[在 C# 中]如果我保持文件打开,我可以写入多个输入并保存它,但如果我关闭它,重新打开它并再次开始写入,它会从开头开始并覆盖所有内容。我试着用它打开它FileMode.Append
并做一个File.Seek(0, SeekOrigin.End);
这是文件打开代码:
我怎么能保证它总是会写到最后呢?
c# - BinaryWriter.Write(Int32)
我有一个包含这样的结构的文件:
对于这个词,我确保在写入之前将其扩展到 30 个字节,并且我按原样写入 pos,因为我知道 int32 是 4 个字节。
这是要写入文件的代码:
代码编译并且运行良好,除了一件事: int32 没有被写入。如果我使用记事本++检查文件,我会看到 int 应该在哪里:SOH NULL NULL NULL
我查找了 SOH,它应该是 SOH(标题开头):
该字符用于指示标题的开始,可能包含地址或路由信息。
你们中的任何人都知道为什么我的 int32 不写吗?
代码供您尝试(该文件将保存在项目的 bin 调试文件夹中):
c# - 这怎么可能缩短?
我在这里有这段代码:
我想概括这个函数,因为 try/catch & Write(Command) 在这些方法中的每一个上总是相等的。现在我想知道最有效的方法是什么?
基本上我想到了一个这样的方法:
但是,我无法指定我可能拥有的任何其他参数(例如字符串消息)。
另一种可能性是将参数更改为类型 object 但随后BinaryWriter
不知道要访问什么,我每次都必须进行明确的对话。有任何想法吗?