草庐IT

c++ - 关于 NTFS Change Journal USN 记录的问题

这可能是一个有点愚蠢的问题,但我一直无法在任何地方找到答案。有没有办法找出更改日志中的最后一条记录是什么?当我们第一次运行FSTCL查询时,枚举所有记录花费的时间太长。有没有简单的方法可以找到它? 最佳答案 FSCTL_QUERY_USN_JOURNAL返回将用于下一条记录的USN(NextUsn)。最后一条记录通常是NextUsn负1。为了安全起见,您可以使用FSCTL_ENUM_USN_DATA和USN过滤来查找NextUsn负1,如果它不存在,则查找NextUsn负2,然后是负4,等等。

c++ - CMakelists.txt 使 windows 和 mac 工作起来非常复杂,有没有更好的方法?

我一直在收集一个CMakeLists.txt来编译现在是一个SFML示例,以准备编写我自己的源代码。感觉就像一个hack,即使它现在可以工作(MacMakefile、VSnmake、VS解决方案)。主存储库位于https://github.com/iaefai/Spider-Fish/欢迎提出任何建议。cmake_minimum_required(VERSION2.8)PROJECT(Spider-Fish)FIND_PACKAGE(OpenGLREQUIRED)FIND_PACKAGE(SFMLREQUIRED)IF(WIN32)#Windowslink_directories(${

c++ - C++ 中的异步文件 I/O

我找不到C++异步读写的资料。所以我写了代码,函数read()工作正常,但同步没有。Sync()函数不等待读取结束。我认为线程中的变量state_read值不正确。请理解我为什么。structIOParams{char*buf;unsignedintnBytesForRead;FILE*fp;};structAsyncFile{FILE*fp;boolstate_read;HANDLEhThreadRead;IOParamsread_params;voidAsyncFile::read(char*buf,unsignedintnBytesForRead){sync();read_par

c++ - 如何将用 linux 编写的 std::wstring 读入 windows

我们有一个在Windows和Linux上运行的程序。它以二进制形式将std::wstrings写入文件。我们需要能够将从Linux写入的文件读入Windows。我们将字符串写成wchar_t的列表。在linux上每个wchar_t占用4个字节。在Windows上每个wchar_t占用2个字节。Windows把linux写的文件读进去,怎么把4字节的wchar_t放到2字节的wchar_t里呢?谢谢,亚当 最佳答案 您可以使用UTF8-CPP轻松地将文件从UTF-32转换为UTF-16:#include#include#include

c++ - 寻找相当于 unix 脚本命令的 Windows

unix命令“脚本”允许用户运行程序/命令,当按下ctrl-d时,输出将写入文件。session的时间戳也写入此文件中。Windows/VisualStudio中是否有等效的命令? 最佳答案 Cygwin是一个选项吗?脚本命令可以在util-linux包中找到。 关于c++-寻找相当于unix脚本命令的Windows,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7591270/

c - 绘画后 WM_PAINT 不显示

所以我正在绘制位图,这是我的代码:hdcMem=CreateCompatibleDC(hdc);SelectObject(hdcMem,g_hBitmap);GetObject(g_hBitmap,sizeof(bm),&bm);BitBlt(hdc,196-(bm.bmWidth/2),90,bm.bmWidth,bm.bmHeight,hdcMem,0,0,SRCCOPY);DeleteDC(hdcMem);有时,当我用这段代码绘制时,位图不显示。尽管如果我最小化/取消最小化窗口,则会显示位图。我很确定我的代码没有问题,那么我还应该做些什么吗?编辑:原来它不仅仅是位图,如果我用Te

c++ - 自定义按钮形状

我想使用自定义位图实现一个简单的音量增大/减小按钮,它所具有的只是一个简单的悬停效果和鼠标按下效果。我的第一个想法是为悬停处理WM_MOUSEMOVE,为鼠标按下效果处理WM_LBUTTONUP和WM_LBUTTONDOWN。首先,这是最简单的方法吗?我可以父类(superclass)一个按钮,只绘制位图而忘记文本...然后我遇到了背景问题,它应该是透明的,我知道我可以通过将SRCAND传递给BitBlt来使用掩码,但这需要我有每个按钮2个图像。有没有办法只用一张图片来做到这一点?例如,如果我在我的图像编辑器中放置一个绿色背景,我可以用类似绿屏的效果来掩盖它吗?

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++ - 如何在exe文件中构建C++项目嵌入所有动态链接库?

各位,我正在开始开发一个C++项目,在这个项目中我必须使用一些开源项目有几个dll文件。然后我有一个问题“如何构建C++项目,将所有动态链接库嵌入到exe文件中?”感谢帮助!注意:抱歉,我忘了我在x86上使用visualstudio编译器 最佳答案 您的问题没有通用的答案。这取决于你是否需要它是跨平台的。但是,由于您提到“x86上的visualstudio编译器”,我敢打赌您的目标是Windows。在这种情况下,您有两种选择:官方推荐的方法:将您的dll作为资源嵌入到您的可执行文件中;然后当你的程序启动时,你将这些dll作为临时文件

调用 free 导致程序抛出异常

当我偶然发现以下问题时,我正在做作业。我应该使用C和WindowsAPI函数创建一个简单的多线程应用程序。每个线程都会运行一个简单的任务,所以我决定回收一些我做过的旧东西。我有一个头文件:http://pastebin.com/1aJFAwBg还有一个源文件:http://pastebin.com/L127FGhG然后在main中,我进行以下调用:LoadPoem();ProcessPoem();SavePoem();LoadPoem打开包含原始文件的文件,为输入分配一个缓冲区(变量loadedPoemBuffer)并将文件中的文本存储在其中。ProcessPoem然后为更改后的版本(