我对C++和Win32还是个新手。我需要完成一个非常简单的任务:
>
我有一个buffer char*buffer它的长度我知道,它保存了一些二进制数据。请提供一个示例代码,将该缓冲区的内容(给定起始索引和长度)写入一个临时文件(即使没有管理权限,位置也必须是可写的)在Windows(win32 api)上?因此,要实现这一点,我必须知道如何在windows上获得一个有效的临时文件名,我可以写入该文件,以及如何从char*缓冲区的给定部分将一些二进制数据写入该文件。
另外,我似乎也搞不清楚对二进制文件使用char是否可以,但问题是,ifstream默认情况下将以char的形式读取数据。
还有一个快速的附带问题:我是否总是必须删除任何指针,一旦我完成了它们。即。在我上面的例子中,我是否必须调用删除缓冲区,一旦我完成了它?
多谢了。
我有一个缓冲区char*buffer,它的长度我知道,它保存了一些二进制数据。请提供一个示例代码,将该缓冲区的内容(给定起始索引和长度)写入一个临时文件(即使没有管理权限,位置也必须是可写的)在Windows(win32 api)上?
在google中快速搜索就会返回来自制造商的关于临时文件的文档。
http://msdn.microsoft.com/en-us/library/windows/desktop/aa363875(v=vs.85).aspx
请记住,一旦您以这种方式使用临时文件,您的代码就自动不可移植(以防这对您很重要)。
一旦您有了临时文件的名称和目录,您所要求的代码就很简单了。再次在google中快速搜索返回:
http://www.cplusplus.com/forum/general/21018/
如果您更喜欢坚持C(旧)样式而不是使用IOStream,那么您也可以使用:
http://www.cplusplus.com/reference/clibrary/cstdio/fwrite/
还有一个快速的附带问题:我是否总是必须删除任何指针,一旦我完成了它们。即。在我上面的例子中,我是否必须调用删除缓冲区,一旦我完成了它?
您必须始终删除分配的内存,由指针(这是其名称的起源)指向,在使用它之后。
char * buffer = new char[MaxBuffer];
// more things ...
delete[] buffer;
在删除向量而不是单个对象时,请记住使用delete[]
。
我无法重写从二进制缓冲区获取的文件,我已与原始文件进行了检查,所有字节都相同。 这是从NodeJS创建的文件: 这是最初的一个: 你可以比较这两个文件,每个字节都是一样的,我猜NodeJS的编码不是正确的。 这是一段代码 你可以试着在你的节点上运行它,看看结果是错误的。 我能做些什么来修复它?
我正试图将大量数据写入我的SSD(固态驱动器)。我指的是80GB。 我浏览了网页寻找解决方案,但我想出的最好的办法是: 使用Visual Studio 2010编译并进行全面优化并在Windows7下运行,该程序的最大容量约为20MB/s。真正让我困扰的是,Windows可以以150MB/s到200MB/s之间的速度将文件从其他SSD复制到此SSD。所以至少快了7倍。这就是为什么我认为我应该能够走
环型缓冲区是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适合缓存数据流。 构造环型缓冲区 var ringBuffer = new RingBufferStream(); 函数原型 RingBufferStream(int capacity = 8192, bool exposable = true); 参数 描述 capacity 环状缓冲区的最大容量,为2的次方。如:传入12,则
环形缓冲区接口 结构体 struct rt_ringbuffer 环形缓冲区控制块 更多... 枚举 函数 void rt_ringbuffer_init (struct rt_ringbuffer *rb, rt_uint8_t *pool, rt_int16_t size) 初始化环形缓冲区 void rt_ringbuffer_reset (struct rt_rin
本文向大家介绍Windows下Python的Django框架环境部署及应用编写入门,包括了Windows下Python的Django框架环境部署及应用编写入门的使用技巧和注意事项,需要的朋友参考一下 环境搭建 1、下载所需的软件包: (1)python安装包 (2)django安装包 以下2个包其实是安装python包管理工具,在后面安装django文档包模块时会用到,下载网站是pypi (1)s
不使用ByteBuffer:第一种方法 使用byte Buffer:还有一点是数据成员的大小将始终保持固定,即CharacterData=1byte、ShortData=1byte、IntegerData=2byte和StringData=3byte。所以这个类的总大小总是7byte 第二种方法 PS 如果我使用序列化,它还会写入单词“characterdata”、“shortdata”、“int