草庐IT

不写入

全部标签

c++ - c/c++如何实现异步写入?

WriteFile(tmp_pipe,&Time,sizeof(double),&dwWritten,NULL);上面是同步的,如果tmp_pipe的buffer用完了,就在那里等待。如何使上述立即完成,如果缓冲区已满,也许只是忽略数据? 最佳答案 最终的方法是使用boost::asio.如果你不使用一个好的库,异步IO很难正确和可移植。 关于c++-c/c++如何实现异步写入?,我们在StackOverflow上找到一个类似的问题: https://stac

windows - 如何获取应用程序从文件系统读取/写入文件系统所花费的总时间?

我现在正在分析一个执行大量磁盘I/O的应用程序。此时,我想知道磁盘I/O花费了多少时间。这样,我就可以对I/O和整个执行时间进行比较,从而决定下一步的优化目标。简而言之,我正在寻找工具或方法来:计算并汇总我的应用程序磁盘I/O操作的总时间。堆栈跟踪不是强制性的,但很有帮助适用于Windows或OSX。我无法控制执行磁盘I/O操作的组件。所以我无法在我的应用程序中添加分析代码来手动记录I/O时间。我尝试了XcodeInstruments的timeprofiler。但它太重了。我只想要I/O操作的摘要时间。谢谢 最佳答案 在Window

C# 从 Windows 写入 ext2 linux 分区

我是C#的新手,我需要在Windows7的EXt2linux分区上写一个文件(grub)。做这种事情的好方法是什么?我需要用外部程序挂载分区吗? 最佳答案 我认为您需要使用外部程序安装它,例如:http://www.fs-driver.org/ 关于C#从Windows写入ext2linux分区,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4197159/

C++ 写入和读取 mysql 数据库

我正在做一个项目,我们想在这个项目中写入mysql数据库,我用谷歌搜索并尝试了一些实现,但都失败了。例如我试过这个:http://markalexanderbain.suite101.com/using-a-mysql-databases-with-c-a70097#include"StdAfx.h"#include#include#include#pragmacomment(lib,"libmysql")#pragmacomment(lib,"mysqlclient")usingnamespacestd;MYSQL*connection,mysql;MYSQL_RES*result;

c# - 写入未插入的 USB 设备

我有一些集成测试,测试来self们应用程序一部分的USB监听器的USB数据处理。即使不存在代码正在监听的设备,我也希望能够运行这些测试。即让我的测试代码写入设备,以便我的生产代码读取并处理它。存在的设备不会影响生产代码的处理。有谁知道这是否可能?谢谢编辑:我尝试这种方法的原因是类似的代码对于RS-232版本非常有效,即集成测试写入端口并且插入设备的存在不会影响结果。 最佳答案 我认为您应该编写一个当前正在写入您的USB驱动器的类的替代实现。因此,您将需要一个接口(interface)或其他东西以及两个实现它的类。如果设备是连接的..

c++ - 不写入任何数据,WriteFile 怎么能成功呢?

我调用WriteFile将数据发送到调制解调器:BOOLwriteResult=WriteFile(m_hPort,p_message,length,&numOut,NULL);哪里:m_hPort是一个有效的HANDLEp_message是一个unsignedchar*包含ate0\rlength是一个值为5的intnumOut是一个初始化为0的unsignedlong偶尔我会看到此方法成功但numOut!=lengthWriteFile怎么可能不发送任何数据就返回成功呢?编辑这就是我创建句柄的方式:HANDLEhPort=CreateFileA("\\\\.\\COM5",GENE

c++ - ifstream 另一个程序正在写入的文件?

如果我尝试使用std::ifstream打开一个文件,而另一个应用程序正在写入该文件,会发生什么情况? 最佳答案 这取决于用于在其他程序中打开文件的共享模式。如果您使用的打开模式与共享模式兼容,那么您将打开该文件。否则,打开将失败。不过,C++并不真正提供“共享模式”,因此您获得的共享模式将是您的供应商的实现碰巧使用的任何模式。如果您真的想要控制打开文件的方式,请使用操作系统提供的函数(在本例中为CreateFile)。当来自其他程序的写入生效时,您将能够在您的程序中读取它们。如果您也写入文件,那么您的写入和其他程序的写入可能会相互

c# - 锁定文件同时保留在同一线程中读取/追加/写入/截断的能力?

我有一个文件,粗略地说,包含应用程序的状态。我想实现以下行为:当应用程序启动时,锁定文件,以便其他应用程序(或用户本身)无法修改它;从文件中读取之前的应用状态;...做工作...用新状态更新文件(给定文件格式,涉及重写整个文件;操作后文件的长度可能会减少);...做工作...再次更新文件...做工作...如果工作失败(应用程序崩溃),则解除锁定,文件内容保留为执行前一个工作单元后的内容。看来,要重写文件,应该使用Truncate选项打开它;这意味着每次他们想要重写文件时都应该打开一个新的FileStream。所以看起来我想要的行为只能通过这种肮脏的方式来实现:当应用程序启动时,读取文件

windows - VBscript,写入注册表

我在修改注册表项值时遇到问题,SetWshShell=WScript.CreateObject("WScript.Shell")WshShell.RegWrite"HKCU\MyNewKey\MyValue","0"WshShell.RegWrite"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA","0"当我执行代码时,它总是给出错误,“注册表中的根无效”代码有什么问题,有人可以解释一下吗? 最佳答案 尝试“HKEY_LOCAL_MA

Ruby 文件写入 Windows 返回错误的文件大小?

我仍在学习ruby​​,所以我确定我在这里做错了什么,但是在Windows上使用ruby​​1.9.3,我在将随机ascii垃圾写入特定大小的文件时遇到了问题.我需要能够编写这些文件以对我正在QAing的应用程序进行测试。在Mac和*nix上,每次都正确写入文件大小。但在Windows上,它会生成随机大小的文件,一般在1,024字节到1,031字节之间。我确定问题出在rstr生成的字符之一被计为两个字符但是......这似乎不应该发生。这是我的代码:num=10k=1foriin1..numfname="f#{i}.txt"f=File.new(fname,"w")forkin1..s