草庐IT

c++ - 如何从驱动器号中获取驱动器名称?

我已经在互联网上搜索但找不到答案,我如何从Windows的C++驱动器盘符中获取驱动器名称?我的意思是如果我说G:\它必须给我笔式驱动器的名称。例如:可移动磁盘。 最佳答案 就像调用GetVolumeInformationAPIfunction一样简单.您传入驱动器盘符作为路径名(例如,G:\),该函数将填充一个包含卷名的缓冲区(以及其他信息,如果您对此感兴趣)。这是检索G:\驱动器的卷名所需的代码。卷名被放入szVolumeName缓冲区:WCHARszVolumeName[MAX_PATH];BOOLbSucceeded=Get

c - wchar 和注册表项的问题

所以我想向注册表添加一个字符串,因为注册表字符串以NULL结尾,我的字符串在各个地方都包含一个空字符。这是我的字符串的样子。charnames[550]="1DFA-3327-*\01DFA-3527-*\001DFA-E527-*\00951-1500-我像这样将其转换为whcar_t字符串。wchar_tnames_w[1000];size_tcharsConverted=0;mbstowcs_s(&charsConverted,names_w,names,SIZE);RegSetValueEx(*pKeyHandle,valueName,0,REG_MULTI_SZ,(LPBYT

c++ - 从已编译的应用程序创建 Windows 服务

我想使用MicrosoftVisualStudio2015从我编译的C/C++代码创建一个服务。我编译了我的代码并使用来自应用程序可执行文件的sc.exe创建了一个服务。我的代码由一个无限循环组成,它在时间间隔内将一个简单的字符串写入一个静态文件。创建服务并重启后,服务似乎自动停止了。直接运行时可执行文件工作正常。代码如下:#include"stdafx.h"#include#include#includeusingnamespacestd;voidwrite_txt_file(stringfile_name,stringinput){/*writeastringtoaspecific

c++ - 如果 header 包含在另一个 header 中但不包含在 cpp 中,则静态断言

我有一个c++库,它使用windows.h中的一些函数,还有一个实用程序头文件,它定义了一些奇怪的windows类型到标准c++的转换。我想知道是否有办法断言实用程序是否包含在另一个header中。这个想法是只将实用程序包含到.cpp文件中,这样我们就不会用windows.h和windows类型以及与之相关的问题污染代码库的其余部分包括那个(最小/最大等)。 最佳答案 检查windows.h的headerguard是否用#ifdefblock定义。#ifdef_WINDOWS_static_assert(false,"Don'tin

c - Windows API MoveFile() 不适用于运行 exe

这里有一个简单的C程序来说明:#include#includeintmain(intargc,char*argv[]){//MoveFile(argv[0],"dst.exe");getchar();return0;}根据上面的代码制作一个test.exe。现在执行test.exe,test.exe由于getchar()卡在那里,然后我可以自由地剪切和粘贴这个exe。但是当我取消对MoveFile(argv[0],"dst.exe");的注释时,我希望它可以将自己移动到dst.exe,结果它有一个dst。exe,而program.exe仍然存在,就像CopyFile()一样。据我所知,

c++ - 删除类数组指针时出错

尝试弄清楚为什么我在此数组指针上使用delete时会出错?正在尝试加载png图像,但不确定发生了什么错误出现在使用delete[]chunks;代码typedefstruct{charr;charg;charb;chara;}pixel;classchunk{public:unsignedcharlength[4];unsignedchartype[4];unsignedchar*data;unsignedcharCRC[4];~chunk(){delete[]data;}};classPNG{public:PNG();PNG(std::stringfilename);~PNG();v

c++ - C++ 和 Windows 操作系统之间的关系

最近我买了TheCompleteReferenceC++,第四版,作者是HerbertSchildt。在书的第三页,我遇到了一个标题,“如果你使用的是Windows”。它说:Ifyourcomputeruseswindows,thenyouhavechosentherightlanguage.C++iscompletelyathomewithWindowsprogramming.However,noneoftheprogramsinthisbookarewindowsprograms.Instead,theyareconsole-basedprograms.Thereasonforth

c++ - double 商?

我在前几天的测验中遇到了以下问题。Considerthecodefragment(assumedtobeinaprograminwhichallvariablesarelegallydefined):intnum1,num2;doubleanswer;//programgetsnum1andnum2fromuser,andvaluesreceived//arealwaysnon-zerointsbetween-100and+100(codenotshown)...//computeprecisequotient:answer=(double)(num1/num2);Aftertheas

当在 Windows 10 上点击 `Ctrl + C` 按钮时,Python 代码显示在屏幕上。如何隐藏它?

这是Windows上的简单Python代码。问题是当我按下Ctrl+C时,一些代码将显示在屏幕上,即使我已经使用pyinstaller将.py转换为.exe代码C:\code>moretest.py#!/usr/bin/pythonprint("\nHello")input("Pause...")C:\code>正常执行C:\code>pythontest.pyHelloPause...C:\code>执行期间Ctrl+C...代码暂停前C:\code>pythontest.pyHelloPause...Traceback(mostrecentcalllast):File"test.p

c++ - 如何改进我的代码以生成安全的随机数?

我正在尝试找出生成安全随机数(例如python中的secrets)的最佳方法或库。我正在使用代码块在Windows10上工作。到目前为止我已经这样做了:#include#include#includeusingnamespacestd;intmain(){srand((unsigned)time(0));inti;i=(rand()%6)+1;cout我正在尝试从python中复制与secrets相同的函数来生成安全的随机数。 最佳答案 std::rand()不提供足够的保证用于加密应用程序(又名安全随机数):Therearenog