问题标签 [strdup]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 重复 strdup 的内存泄漏
我正在创建一个从 linux_dirent 结构 (d) 获得的文件名数组。在循环的每次迭代中,使用获取文件名
并将指向 this 的指针添加到数组中:
由于指针数组需要有有效的内存来指向我不能这样做:
在最后一次使用free(d_entry)
数组之后使用只会释放 strdup/malloc 为 d_entry 的最后一个实例分配的内存。
Valgrind 确认内存泄漏。
有没有办法解决这个问题,或者我应该看看在数组中创建指针之前使用 memcpy 将文件名移动到单独的缓冲区。
核心循环:
c++ - 取消引用指向char指针c ++的指针
我有以下代码:
当我尝试执行它时,我在cout
指令中遇到了段错误。如果我这样做
一切正常。是什么导致了问题,解决方法是什么?我不是在寻找“使用字符串”类型的解决方案。
c - 在 flex 中使用 strdup()
我想将重复的字符串发送到我的野牛文件。
在我的 flex 文件中,我像这样使用它
这是正确的做法吗?或者我应该像下面的代码一样使用它。
c++ - 重新定义 strdup\Function 已经有一个 Body
我正在做一个小项目,试图让 Source Engine 2013 代码在 Qt Creator IDE 下工作。我的最终目标是把它变成一个 CMake 项目来抛弃 Valve 有限的 VPC 系统,虽然我还不知道它是如何工作的,所以我正在采取简单的步骤。
我习惯在MSVC++ 2013编译器下编译,所以我用的就是这个,最后遇到了这个问题,不知道怎么处理。我首先要做的是,如果它不能在预期的编译器下正确编译,我显然做错了,我不应该修改代码。
Valve 有这个 memoverride.cpp 它有一个 char *__cdecl _strdup( const char *string ),如果我把它注释掉,代码编译得很好,所以这是我要处理的最后一个问题。
从这个函数“覆盖”我得到以下两个错误:
C2084:函数 'char MemAlloc_StrDup(const char ) 已经有一个主体
C2732:链接规范与“MemAlloc_StrDup”的早期规范相矛盾
有人知道任何必要的编译器选项,应该排除的一些默认库,或者我应该用来解决这个问题的预处理器定义吗?我尝试在 Visual Studio 中编译代码,并禁用了抑制的启动横幅,以便我可以看到它传递的所有选项,但我尝试了所有选项,但似乎没有任何区别。
那么有人有什么想法吗?
任何信息将不胜感激,谢谢!
c++ - const char * 到 char * 在我的情况下
尽管我知道由于许多问题,在 C/C++ 中转换const char *
为char *
几乎被禁止,但我陷入了我认为必须转换const char *
为char *
.
我通过使用从文本文件中获取一个字符串作为字符串c_str
,我想修改这个字符串。但是问题在于c_str
将字符串转换为const char *
. 那么在这种情况下使用它是一个不错的选择,strdup
还是有更好的主意呢?
c++ - 模板化的“strdup()”?
这合适吗?使用 int、long 等时,我可以期待任何错误吗?我对通用编程非常陌生,并且正在努力学习更多。
c - 指针递增到 NULL 直到字符串结束,如下面的代码,但是如果检查它证明是错误的,为什么?
嗨指针递增到 NULL 到字符串的末尾,如下面的代码,但是如果检查它证明是错误的,为什么?
c++ - bison bison flex strdup 中的字符串
我有一个在 ubuntu linux vmPlayer 上工作的 flex-bison 项目。问题是,我试图在我的野牛文件中使用字符串和 int 的映射进行 int-string 转换,它在文件 extra.y 中给了我错误:
它给我的错误:
..帮助 ??
c++ - C++ 函数中类型错误的值始终为 NULL
我必须总是做我的功能。我不能使用标准库。
My_cpy , my_len 和 my_strdup 函数在这里。请帮我检查一下。我认为这很容易,但我对此功能有疑问。我在页面末尾显示了错误。我认为这很清楚。另外这是C++
非常感谢。
代码:
我对此功能有错误。我怎么解决这个问题?
错误(活动)“void *”类型的值不能用于初始化“char *”类型的实体
我写的:
但现在 p 上的问题。始终为 NULL。
c - 如何保存字符串标记,将其内容保存到数组中,然后使用这些内容进行进一步比较
/*我不确定我在数组中保存令牌的代码是否准确。之所以如此,是因为每当我运行我的程序时,
token[0]
与我的变量进行比较的代码既不会给出输出,也不会执行分配的函数。
因此,我确信我的编码有些不准确。*/