草庐IT

batch-size

全部标签

C++ size_t 或 ptrdiff_t

如果您有以下代码,其中p是一个指针:p=p+strlen(p)+size_t(1);由于strlen()和size_t都是size_t,我应该将代码转换为ptrdiff_t吗?p=p+(ptrdiff_t)(strlen(p)+size_t(1));如果是,为什么?谢谢,格雷格 最佳答案 std::ptrdiff_t已签署。std::size_t未签名。如果p可能有负长度,则将strlen(p)转换为ptrdiff_t是有意义的,这是不可能的。但是,如果p足够大(例如,在大多数32位平台上大于2,147,483,647字节),则该转

c++ -::operator new(size_t) 是否使用 malloc()?

::operatornew(size_t)是在内部调用malloc(),还是直接使用系统调用/操作系统特定的库调用?C++标准怎么说?在thisanswer它说:malloc()isguaranteedtoreturnanaddressalignedforanystandardtype.::operatornew(n)isonlyguaranteedtoreturnanaddressalignedforanystandardtypenolargerthann,andifTisn'tacharactertypethennewT[n]isonlyrequiredtoreturnanaddr

c++ - C++ 有自由函数 `size(object)` 吗?

似乎大多数人查找string大小的方法是他们只是使用my_string.size()并且它工作正常。好吧,我最近在类里面做了一个作业...if(size(my_string)而不是......if(my_string.size()但令我惊讶的是,我相信他正在运行较旧的编译器的讲师无法运行该行代码。在我的编译器上,它可以两种方式工作,我不太清楚为什么。一个完整的程序(两者都输出4):#include#includeusingnamespacestd;intmain(){stringmyvar="1000";cout是否有人可以阐明为什么我的问题解决方案在我的机器上有效,但在我的教授上却无

windows - 使用通配符查找零字节文件并检查主 BATCH 文件是否已打开

我需要在特定文件夹中查找是否存在扩展名为*.ff0的零字节文件。以下脚本不起作用,因为我总是收到消息“文件非空”。怎么了?@echooffsetout="C:\test_files\*.ff0"if"%out%"==""(echoFiledoesnotexist.)elseif"%out%"=="0"(echoFileisempty.)else(echoFileisnon-empty.)第二个问题是我的批处理文件稍后将位于Intranet文件夹中的某个位置,这意味着其他人可能也可以访问。因此,完成以下操作的完整代码应该是什么:1-识别是否有打开的文件实例。2-如果有,警告用户有人已经在

windows - 如何使用 Batch 添加 REG_NONE 空值?

此注册表脚本在reg编辑器中写入一个REG_NONE空值(表示为二进制数据):WindowsRegistryEditorVersion5.00[HKEY_CURRENT_USER\keyname]"valuename"=hex(0):(上图中数据描述的英文翻译是:“零长度二进制值”)我需要在Batch中重现相同的内容(以改进Reg2Bat转换器),但是当我尝试这样做时:REGADD"HKCU\keyname"/V"valuename"/T"REG_NONE"/D""/F它添加数据:也许reg.exe命令与REG_NONE值类型不兼容?(命令帮助说它是一个受支持的值,但是......你看

windows - 通过 Powershell 或 Batch 将文件从 Windows 转换为 UNIX

我有一个批处理脚本,提示用户进行一些输入,然后输出我在AIX环境中使用的几个文件。这些文件需要采用UNIX格式(我认为是UTF8),但我正在寻找以最简单的方式执行此操作的一些方向。我不喜欢下载额外的软件包;Cygwin或GnuWin32。如果可能的话,我不介意对此进行编码,我的编码选项是Batch、Powershell和VBS。有谁知道这样做的方法吗?或者,我可以使用Batch创建文件并调用Powershell脚本来修改这些文件吗?这里的想法是提示用户输入一些信息,然后我输出一个标准文件,这些文件基本上是AIX中的作业提示答案。我最初使用Batch,因为我不知道我会遇到这个问题,但我有

windows - CMD/Batch/Registry - 字符串替换没有按预期工作?

我在尝试替换Windows注册表项的一行代码中的子字符串时遇到了最有趣的事情[HKEY_CLASSES_ROOT\PING\shell\open\command]@="C:\\Windows\\System32\\ping.exe%1-t"场景和上下文:上下文是一个自定义url协议(protocol),它将打开一个shell并连续ping到特定的ip,我想从作为传递的uri中删除协议(protocol)ping://>%1。当然我可以使用批处理文件,但我更愿意将其全部放在注册表中的一行中我尝试过的:到目前为止,我已经尝试使用&设置一个var然后回显它来附加一个命令列表。尝试了calls

c - win32 : How to calculate control sizes for a consistent look across windows versions/themes?

正在处理一个简单的cGUI库,我从winapi开始后端,现在在计算控件的首选大小时遇到​​一些问题。我正在将我的结果与Windows.Forms的结果进行比较。现在,我正在使用DesignSpecificationsandGuidelines-VisualDesignLayout中的值(例如按钮和文本框是14个“对话框逻辑单元”高)用于计算winapi中的像素大小实现,同时使用Windows窗体保持所有默认值。我创建了这些简单的演示实现:Windows窗体(demo.cs):usingSystem.Drawing;usingSystem.Windows.Forms;namespaceW

windows - 使用 Windows Batch 将带有双引号的字符串回显到输出文件

我正在尝试使用Windows批处理文件重写配置文件。我正在遍历文件的行并寻找我想用指定的新行替换的行。我有一个将行写入文件的“函数”:AddText%1%2setText=%~1%setNewLine=%~2%echo"%Text%"|findstr/C:"%markerstr%"1>nuliferrorlevel1(ifnot"%Text%"==""(setlocalEnableDelayedExpansion(echo!Text!)>>outfile.txt)else(echo.>>outfile.txt))else(setNewLine=%NewLine"=%setlocalEn

c++ - 如何判断一个进程 "virtual size"(WinXP)?

我有一个需要大量内存的程序,一旦达到2GB虚拟地址空间,它就会崩溃。Sysinternals进程资源管理器将其显示为“虚拟大小”列。我如何用C(或C++)代码确定这个“虚拟大小”?好的,我必须查询“虚拟字节”的性能计数器。Perfmon将查询字符串(或它的调用方式)显示为,例如,在我的德语WinXP安装中为'\Process(firefox)\VirtuelleGröße'。如何确定“当前进程”的查询字符串,是否有非本地化名称? 最佳答案 根据MSDN:MemoryPerformanceInformationPROCESS_MEMO