jjzjj

Unsigned

全部标签

C++:将 __int64 转换为 unsigned long

我想在Windows和Linux中使用以下函数,但我不确定如何将__int64转换为unsignedlong。像我一样投值安全吗?getTimeInMilliseconds(){#ifdef_WIN32staticconst__int64magic=116444736000000000;//1970/1/1SYSTEMTIMEst;GetSystemTime(&st);FILETIMEft;SystemTimeToFileTime(&st,&ft);//in100-nanosecs...__int64t;memcpy(&t,&ft,sizeoft);return(unsignedlon

编译器警告,已修复但想确保我理解

我一直在使用我在网上找到的一些C代码,这些代码在Windows7上有带有代码块的编译器警告,因为我正在学习C并试图在学习过程中理解代码我决定查看警告并修复它们中的一些足够简单,但是我修复的第一个block我想我明白了,但如果有人能证实我的理解,我将不胜感激,有问题的原始代码片段是unsignedcharbuffer[MAX_PATH];unsignedchartext_to_send[MAX_PATH];unsignedchardigits[MAX_PATH];//examplewarningwithdigitswhenusedasbelowtext_to_send[m]=strtol

c++ - 从 UWP vc++ 中生成的字节数组生成图像

引用Question由@DecadeMoon回答我如何使用该方法从字节数组而不是图像文件生成图像。我试过如下但没有任何效果。没有显示图像std::vectordata=std::vector(imgx->Height*imgx->Width*4);intoffset;for(introw=0;rowHeight;row++){for(intcol=0;colWidth;col++){offset=(row*(int)(imgx->Width*4))+(col*4);data[offset]=0x58;//Reddata[offset+1]=0x58;//Greendata[offset

c++ - 使用 DWORD 解析重载函数调用

使用MicrosoftC++2017,64位构建,以下代码行生成编译错误,对重载函数的调用不明确:print(pmc.PageFaultCount);我定义了以下打印函数,希望能明确涵盖所有常用的整数类型:voidprint(int32_tn);voidprint(int64_tn);voidprint(uint32_tn);voidprint(uint64_tn);pmc.PageFaultCount声明为DWORD,记录为无符号32位整数。我希望选择uint32_t重载。这怎么模棱两可?更重要的是,如果上述一组重载不足以打印任何整数,那么什么一组重载就足够了?

C++ Windows 如何将 'unsigned int' 转换为 'TCHAR *'?

我是Windows上的C++新手。你能告诉我如何将unsignedint转换为TCHAR*吗? 最佳答案 通常的方法是使用swprintf将宽字符打印到wchar_t(TCHAR通常定义为)。要将数字打印到TCHAR中,您应该使用_stprintf,正如@hvd在下面提到的(一怒之下)。这样,如果定义了UNICODE,您将使用宽字符,如果未定义UNICODE,您将使用ASCII字符。intmyInt=400;TCHARbuf[300];//whereyouputresult_stprintf(buf,TEXT("Formatstri

将十六进制字符串转换为 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(

c - 为什么 scanf 会用 0 覆盖之前读取的 unsigned char 变量?

我尝试通过scanf读取几个unsignedchar值,发现了一些奇怪的错误。在scanf的第二次调用期间,第一个unsignedchar变量被0覆盖。但是编写scanf("%hhu",&second);将导致覆盖第二个unsignedchar变量。#includeintmain(void){unsignedcharfirst,second;printf("Typefirstunsignedcharvariable:");scanf("%hhu",&first);printf("first=%hhu\n",first);printf("Typesecondunsignedcharvar

c++ - 什么会导致 Windows 发送两次 ID_HELP 命令

在我的应用程序中,我覆盖了CFrameWnd::OnHelp以打开一个word文档而不是我们的旧.hlp文件。但是,当我按F1时,我注意到该函数被执行了两次。我检查了堆栈,发现AfxWndProcBase正在接收命令0x1E146,然后CWnd::OnCommand将其截断为0xE146调用CFrameWnd::OnCmdMsg时,0xE146是ID_HELP命令。紧接着,AfxWndProcBase正在接收命令0xE146,并再次运行帮助命令。经过一些实验后,我发现在处理第一条消息时,正在接收和处理第二条消息在对AfxMessageBox的调用中。处理程序在这里:voidCMainF

c++ - 为什么在 VCC 2003 中编译需要这么长时间?

我的团队需要“Sobol准随机数生成器”——一种以高质量结果和运行速度而闻名的常见RNG。我找到了whatlookslikeasimpleCimplementationontheweb.在家里,我几乎可以立即使用我的LinuxGCC编译器编译它。第二天,我在工作中试了一下:如果我在VisualStudio中以Debug模式编译,大约需要1分钟。如果我在Release模式下编译它,大约需要40分钟。为什么?我知道“发布”模式会触发一些编译器优化……但是这么小的文件怎么可能花这么长时间来优化呢?它主要是评论和静态数据。几乎没有什么值得优化的。这些PC都不是特别慢,无论如何我知道编译时间在一

c# - C# 中的 C 位域

我需要将C结构转换为使用位字段的C#。typedefstructfoo{unsignedintbar1:1;unsignedintbar2:2;unsignedintbar3:3;unsignedintbar4:4;unsignedintbar5:5;unsignedintbar6:6;unsignedintbar7:7;...unsignedintbar32:32;}foo;有人知道怎么做吗? 最佳答案 如thisanswer中所述和thisMSDNarticle,您可能正在寻找以下内容而不是BitField[Flags]enum