问题标签 [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.

0 投票
1 回答
135 浏览

c - 重复 strdup 的内存泄漏

我正在创建一个从 linux_dirent 结构 (d) 获得的文件名数组。在循环的每次迭代中,使用获取文件名

并将指向 this 的指针添加到数组中:

由于指针数组需要有有效的内存来指向我不能这样做:

在最后一次使用free(d_entry)数组之后使用只会释放 strdup/malloc 为 d_entry 的最后一个实例分配的内存。

Valgrind 确认内存泄漏。

有没有办法解决这个问题,或者我应该看看在数组中创建指针之前使用 memcpy 将文件名移动到单独的缓冲区。

核心循环:

0 投票
1 回答
311 浏览

c++ - 取消引用指向char指针c ++的指针

我有以下代码:

当我尝试执行它时,我在cout指令中遇到了段错误。如果我这样做

一切正常。是什么导致了问题,解决方法是什么?我不是在寻找“使用字符串”类型的解决方案。

0 投票
1 回答
590 浏览

c - 在 flex 中使用 strdup()

我想将重复的字符串发送到我的野牛文件。

在我的 flex 文件中,我像这样使用它

这是正确的做法吗?或者我应该像下面的代码一样使用它。

0 投票
1 回答
161 浏览

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 中编译代码,并禁用了抑制的启动横幅,以便我可以看到它传递的所有选项,但我尝试了所有选项,但似乎没有任何区别。

那么有人有什么想法吗?

任何信息将不胜感激,谢谢!

0 投票
2 回答
716 浏览

c++ - const char * 到 char * 在我的情况下

尽管我知道由于许多问题,在 C/C++ 中转换const char *char *几乎被禁止,但我陷入了我认为必须转换const char *char *.

我通过使用从文本文件中获取一个字符串作为字符串c_str,我想修改这个字符串。但是问题在于c_str将字符串转换为const char *. 那么在这种情况下使用它是一个不错的选择,strdup还是有更好的主意呢?

0 投票
1 回答
199 浏览

c++ - 模板化的“strdup()”?

这合适吗?使用 int、long 等时,我可以期待任何错误吗?我对通用编程非常陌生,并且正在努力学习更多。

0 投票
1 回答
513 浏览

c - 指针递增到 NULL 直到字符串结束,如下面的代码,但是如果检查它证明是错误的,为什么?

嗨指针递增到 NULL 到字符串的末尾,如下面的代码,但是如果检查它证明是错误的,为什么?

0 投票
0 回答
142 浏览

c++ - bison bison flex strdup 中的字符串

我有一个在 ubuntu linux vmPlayer 上工作的 flex-bison 项目。问题是,我试图在我的野牛文件中使用字符串和 int 的映射进行 int-string 转换,它在文件 extra.y 中给了我错误:

它给我的错误:

..帮助 ??

0 投票
1 回答
255 浏览

c++ - C++ 函数中类型错误的值始终为 NULL

我必须总是做我的功能。我不能使用标准库。

My_cpy , my_len 和 my_strdup 函数在这里。请帮我检查一下。我认为这很容易,但我对此功能有疑问。我在页面末尾显示了错误。我认为这很清楚。另外这是C++

非常感谢。

代码:

我对此功能有错误。我怎么解决这个问题?

错误(活动)“void *”类型的值不能用于初始化“char *”类型的实体

我写的:

但现在 p 上的问题。始终为 NULL。

0 投票
2 回答
85 浏览

c - 如何保存字符串标记,将其内容保存到数组中,然后使用这些内容进行进一步比较

/*我不确定我在数组中保存令牌的代码是否准确。之所以如此,是因为每当我运行我的程序时, token[0]与我的变量进行比较的代码既不会给出输出,也不会执行分配的函数。

因此,我确信我的编码有些不准确。*/