草庐IT

char_set

全部标签

c++ - Windows 函数中的 char* 或 LPCWSTR

我遵循了有关创建Windows的教程-使用标准windows.hheader的窗口。WNDCLASSEXwc;...ec.lpszClassName=applicationName;起初编译时,applicationName是一个char*并且一切正常,但现在我需要重新创建项目(顺便说一下MSVC++),并且在我尝试编译它时,它需要是一个LPCWSTR。我偶然发现了很多,想知道为什么它有时接受char*而有时不接受!?我的项目设置中是否遗漏了什么?顺便说一句:同样的事情发生在D3DX11CreateShaderResourceViewFromFile(d3ddevice,filenam

将十六进制字符串转换为 unsigned char[]

我想将一个字符串,例如“00-00-CA-FE-BA-BE”转换为unsignedcharch[6]数组。我曾尝试使用sscanf,但无论出于何种原因,它都会因变量macAddress后的堆栈损坏而崩溃。我猜格式说明符有问题,但我似乎没弄对。#include#includecharstring1[]="00-00-CA-FE-BA-BE";charseps[]="-";char*token1=NULL;char*next_token1=NULL;intmain(void){unsignedcharmacAddress[6];unsignedcharch;intidx=0;printf(

windows - 为什么此 QString 到 const char* 的转换会在 Windows 上生成 Debian 标识符?

我试图在Qt中包装libssh2,并具有以下代码:constchar*username=inUsername.toLocal8Bit().data();constchar*password=inPass.toLocal8Bit().data();问题是用户名和密码没有连接到系统。为什么?因为根据调试器,username"5.1p1Debian-6ubuntu2"password"5.1p1Debian-6ubuntu2"这些不是我为用户名或密码提供的值。我试过toAscii、toLatin1和附加(或不附加).data()。尽管如此,我还是得到了这些值,而不是预期值。我在Windows

c++ - wchar_t 和 char16_t 在 Windows 上是一样的吗?

我有一个std::u16string的实例,我可以将它的c_str()传递给需要LPCWSTR的Win32API,而无需任何类型的转换?例如,我可以安全地这样做吗:autou16s=std::u16string(u"Hello");::SetWindowTextW(hWnd,reinterpret_cast(u16s.c_str()));已更新,MSDN说herewchar_t是UTF-16LE,而char16_t只是没有指定字节序的UTF-16。那么可以安全地假设char16_t在Windows上也始终是UTF-16LE吗?或者那是特定于MSVC编译器的,因此如果我使用GCC编译,它

c++ - Private Bytes >> Working Set 是否正常?

好吧,这可能听起来很奇怪,但就是这样。有2台计算机,A(奔腾D)和B(四核),运行WindowsXP的RAM数量几乎相同。如果我在两台计算机上运行相同的代码,A中分配的私有(private)字节永远不会下降,从而导致以后的崩溃。在B中,私有(private)字节似乎不断被释放,一切看起来都很好。在两台计算机中,工作集的释放和分配方式类似。这可能是list或DLL(系统)的问题吗?我一无所知。此外,我在A上编译了可执行文件并在B上运行它,它成功了。备注:我用ProcessExplorer观察了使用的内存.问题:在执行期间(我们有多个分配和解除分配)私有(private)字节数远比工作集?

C++ REG_SZ 到 char* 并在没有提升权限的情况下读取 HKLM

所以我一直在尝试从注册表中获取REG_SZ值并将其存储为char*。环顾互联网后,这就是我想出的。问题是我得到的值不是存储在注册表中的值,我得到了一堆随机垃圾。我将如何正确获取该值?HKEYhKey;charvalue[256];//Openthekeyif(RegOpenKeyEx(HKEY_LOCAL_MACHINE,"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0\\",0,KEY_QUERY_VALUE,&hKey)!=ERROR_SUCCESS){return"";}//ReadthevalueDWORDdwType=RE

c++ - 错误 C2446 : == : no conversion from const char * to TCHAR *

我在下面定义了一个TCHAR:TCHARszProcessName[MAX_PATH]=TEXT("");我想比较如下:if(szProcessName=="NDSClient.exe"){}但是我得到了错误:errorC2446:==:noconversionfromconstchar*toTCHAR*errorC2440:'==':cannotconvertfrom'constchar[14]'to'TCHAR[260]' 最佳答案 "NDSClient.exe"是Windows上的constchar*字符串。如果你想让它成为一

windows - Git,切换分支时出现错误 : "Deletion of directory ' <dirname >' failed. Should I try again?" Started after I set custom folder icon

我在Windows上使用gitbash(v1.7.10msysgit)。前几天我在我的repo协议(protocol)中的一些子文件夹上设置了一些自定义文件夹图标,从那时起我就不能再在分支之间切换而不会出现如下错误:blake@ComputerName/c/csharp(AD_NativeRefactor)$gitcheckoutmasterDeletionofdirectory'AllertFullfillmentDB'failed.ShouldItryagain?(y/n)n失败的目录并不总是相同的,但它始终是我设置自定义图标的3个子文件夹中的一个。此后我删除了自定义图标并恢复默认

windows - ECHO 没有显示变量,即使它们出现在 SET - Windows 批处理文件中

在我正在处理的一些代码中,我需要连接到一个终端,这需要终端的IP地址。部分代码在这里:FOR/F"Tokens=1"%%AIN(%IPLIST%)DO(NETUSE//%%A/user:namepasswordSETTERMINAL=%%AECHO%TERMINAL%)但是,执行此操作后,Echo响应:ECHOisoff作为测试,我只是在ECHO%TERMINAL%行之后添加了SET,并根据它:TERMINAL=10.123.45.6所以,我的困境是,根据SET,TERMINAL确实有一个值,但ECHO不同意。之所以如此重要,是因为我无法判断该值是否正确以供将来在其余代码中使用,我在其

c - 为什么微软将类型CHAR定义为char,将宏CONST定义为const?

这个问题在这里已经有了答案:WindowsDataTypes...whysoredundant/undescriptive?(3个答案)关闭8年前。作为C初学者,翻看MSDN'sWindowsDataTypes,我看到有很多定义的类型似乎是多余的。例如使用typedef:CHAR--typedefcharCHAR;FLOAT--typedeffloatFLOAT;也作为对象宏:CONST--#defineCONST常量据我了解,typedef和#define通常用于阐明程序员的意图:#defineBOOLint和/或缩短类型声明(想不出一个好的例子):typedefunsignedch