草庐IT

heap_string_malloc

全部标签

c++ - 将 basic_string<char16_t> 传递给只接受 wchar_t * 和 char * 的方法

当您只能获取存储在char16_t的basic_string中的值时,如何使用仅接受char*和wchar_t*的方法?例如在cstdio中删除。cstdio中的remove函数只接受char*和wchar_t*。不能将char16_t转换为wstring:link.Char无法处理所有UTF-16字符 最佳答案 您需要对卡在std::basic_string中的UTF-16进行转码到采用std::string的任何函数所使用的正确编码或charconst*作为论据。同样,您需要在定位wchar_t时更改编码基于序列。当然,随着人们

c++ - 遍历 std::vector 以从 std::string 数组中查找匹配项,更简单的方法?

我循环遍历std::vector和std::string数组以从vector中找到匹配项。例子:#include#include#includeintmain(){std::coutmyVector;myVector.push_back("Word");myVector.push_back("Word2");myVector.push_back("Word4");myVector.push_back("Word6");myVector.push_back("Word7");std::stringmyStringArr[]={"Word","Word1","Word2","Word3",

windows - 在 Windows 中设置 ES_HEAP_SIZE

我使用的是Windows2012R2机器。我在环境变量中设置了我的堆大小如下ES_HEAP_SIZE4克设置堆大小后,我使用命令将Elasticsearch安装为Windows服务service.batinstall当我启动该服务时,Elasticsearch服务已正确占用4GB(已在Taskmanger.exe中查看)一段时间后,elasticsearch服务使用的内存下降到1GB。这是预期的吗? 最佳答案 这显然是anissueofESunderWindows.引用自链接:The4gbcommittedheapsizethaty

c++ - 如何检查 string::append() 是否会失败

我正在编写一段代码,其中我需要通过向其append数据来创建一个std::string(这里的数据表示应用程序的日志)。但字符串也有其大小限制。我在try-catchblock中编写了代码,当append()失败时,它会抛出异常。我需要在append()之前检查append新字符串是否会导致任何异常,因为一旦抛出异常,它就会清除字符串中的数据。我想检查append新字符串是否会导致任何异常,如果是,则将数据写入文件并清除下一次输入的字符串。由于是应用程序日志,所以我不知道最终大小是多少。所以我试图让代码不那么容易受到上述问题的影响。我检查了一个条件如下:如果“current_strin

string - 从文本文件中删除二进制控制字符

我有一个包含二进制控制字符的文本文件,例如“^@”和“^M”。当我尝试直接对文本文件执行字符串操作时,控制字符使脚本崩溃。通过反复试验,我发现more命令会去除控制字符,以便我可以正确处理文件。morefile_with_control_characters.not_txt>file_without_control_characters.txt这被认为是一种好方法,还是有更好的方法从文本文件中删除控制字符?more在Windows8之前的操作系统中是否有此行为? 最佳答案 当然,您不想简单地删除所有控制字符。换行符和制表符也是控制字

Windows 设备 : get "location" string for a given IMFActivate* of a UVC webcam

当转到Windows的“设备管理器”并单击(几乎)列表中的任何设备时,“常规”选项卡中的一条信息称为“位置”。这是一个字符串:人类可读,例如“在NVIDIAGeForceGTX1080上”半有用的,例如“位置0(内部高清音频总线)”或“PCI总线9,设备0,功能0”USB位置,例如“Port_#0004.Hub_#0015”甚至“0009.0000.0000.004.000.000.000.000.000”该信息可通过Windows的Unifieddevicepropertymodel获得。API。我正在寻找的是从给定的IMFActivate对象获取该信息。有办法吗?我找不到如何从该激

string - Windows 批处理 : find a string in file with "[" in the string

我有一个函数已经可以删除多个文件中不包含字符串的所有行,它非常适合与常见字符串一起使用:@echooffset"string_to_find=level.waypoints["for/f"tokens=*"%%ain('dir/B*.gsc')do(set"tempfile=%temp%\%%a"ifexist"%tempfile%"del"%tempfile%">NULfindstr/C:"%string_to_find%""%~dp0\%%a">>"%tempfile%"ifnoterrorlevel1(del"%%a">NULmove/Y"%tempfile%""%~dp0\%%

C: 函数没有更新全局数组(使用 strcpy/malloc)

尝试从Windows中的目录获取文件名。通过名为list_files的函数执行此操作。该函数由于某种原因(或看起来像它)没有做任何事情,因为每当我打印数组时,它都是空的。我之前测试过这段代码,它运行良好。我一直在编码(这本来是一个更长的代码)我注意到每当我以后不得不使用数组时它返回0(什么都没有)voidlist_files();char*filesList[0][254];inti=0,n=0,l=254;chardirectory[]={"C:/Users/test/Downloads/test/"};intmain(){list_files();}voidlist_files()

c - 适用于 Windows 的 MALLOC_TRACE

在我们公司,我们有一个类似于mtrace的内部框架glibc中用于检测内存泄漏的(MALLOC_TRACE)功能。这个框架是为在Windows上运行而编写的,但它在GNU/Linux上运行得不是很好。那么,有人知道可以在Windows、GNU/Linux甚至MacOSX上运行的与mtrace(MALLOC_TRACE)等效的可移植版本吗? 最佳答案 你试过dmalloc吗?http://dmalloc.com/也许我认为在linux上valgrind要好得多 关于c-适用于Windows

c++ - 如何保证当一个进程调用malloc()时,它会立即分配物理内存?

我正在寻找一种方法来为进程预分配内存(物理内存),以便在我调用new/malloc时绝对保证它对C++堆可用。我需要此内存可供我的进程使用,而不管其他进程正在尝试使用系统内存做什么。换句话说,我想将物理内存保留到C++堆中,以便在我调用malloc()时立即可用。以下是详细信息:我正在开发一个实时系统。该系统由几个内存消耗大的进程组成。进程A是关键任务进程,它必须存活下来并且不受任何其他进程的不良行为的影响。它通常适合0.5GB的内存,但有时需要多达2.5GB的内存。其他进程尝试使用任意数量的内存。我担心的是其他进程可能会分配大量内存,耗尽系统中的物理内存储备。然后,当进程A需要更多内