strdup相关内容

使用 c++0x 在 g++ 上出现 strdup 错误

我有一些 C++0x 代码.我能够在下面重现它.下面的代码在没有 -std=c++0x 的情况下工作正常,但是我的真实代码需要它. 我如何在 C++0x 中包含 strdup?使用 gcc 4.5.2 注意我正在使用 mingw.我尝试包括 cstdlib、cstring、string.h 并尝试使用 std::.没有运气. >g++ -std=c++0x a.cppa.cpp:在函 ..
发布时间:2021-12-31 22:40:26 其他开发

Obj-C:strdup 帧中 Malloc 48 字节的内存泄漏

在我的应用中,我收到了多次内存泄漏.该对象是 Malloc 48 字节,它始终源自负责的调用者 strdup.对象的历史记录只显示它被 Malloced,没有其他保留或释放.堆栈跟踪没有显示我的任何代码.我能挑出的唯一相关性是: 10 UIKit _UIGestureRecognizerSendActions9 UIKit -[UIScrollView handlePan:]8 UIKit - ..
发布时间:2021-12-30 23:59:25 移动开发

strdup() - 它在 C 中有什么作用?

C 中 strdup() 函数的用途是什么? 解决方案 正如它所说的那样,假设您习惯了 C 和 UNIX 分配单词的缩写方式,它复制字符串 :-) 请记住,它实际上不是 ISO C 标准本身的一部分(a)(它是 POSIX 的东西),它实际上与以下代码执行相同的操作: char *strdup(const char *src) {char *dst = malloc(strlen ..
发布时间:2021-12-01 23:50:43 其他开发

Vb.Net 将 StrDup 转换为 C#.net

我有这行代码: strKey &= Strings.StrDup(intKeySize - intLength, chrKeyFill) 这段代码在 C# 中的等价物是什么?我好像找不到. 解决方案 strKey += new String(chrKeyFill, intKeySize - intLength); 或 strKey = strKey.PadRight(intKeyS ..
发布时间:2021-09-16 19:20:17 C#/.NET

C结构数组(抛出异常)

我创建了一个结构为Human的数组,该数组由 char * name 组成. 我使用这样的功能: Human * createHuman(char * name){人* h = malloc(sizeof(Human));h->名称= strdup(名称);返回h;} 我已经测试了此功能,它可以正常工作,但是当我像这样使用它时,我的问题就开始了: void gen_Humans( ..
发布时间:2021-04-16 20:19:06 其他开发

strdup():对警告感到困惑(“隐式声明",“使指针...没有强制转换",内存泄漏)

当我编译下面的短代码(在其中定义一个字符串,然后使用strdup进行复制)时,我收到3条警告:2条来自GCC的编译器警告和1条来自valgrind的运行时警告/错误. 我怀疑内存泄漏错误(由valgrind报告)也与我对strdup的使用有关,这就是为什么要在下面包含相关输出. 我做错了什么? (我正在研究C书籍,这就是作者使用strdup的方式.) 代码: #includ ..
发布时间:2020-11-12 23:24:18 其他开发

strdup和内存泄漏

strdup是否每次都分配另一个内存区域并创建另一个指针? 例如:以下代码是否会导致内存泄漏? void x(char** d, char* s){ *d = strdup(s); } int main(){ char* test = NULL; x(&test, "abcd"); x(&test, "etc"); return 0; } ..
发布时间:2020-05-08 20:52:25 其他开发

Obj-C:strdup帧中Malloc 48字节的内存泄漏

在我的应用中,我收到多个内存泄漏.该对象是Malloc 48字节,它始终源自负责的调用方strdup.对象的历史记录仅显示该对象已被M分配,而没有其他保留或释放. stacktrace不显示任何我的代码.我唯一可以选择的相关内容是: 10 UIKit _UIGestureRecognizerSendActions 9 UIKit -[UIScrollView handlePan:] ..
发布时间:2020-05-08 20:33:14 移动开发

使用c ++ 0x的g ++上的strdup错误

我有一些C ++ 0x代码。我能够在下面重现它。下面的代码工作正常,没有 -std = c ++ 0x 但是我需要它用于我的真实代码。 我如何在C ++ 0x中包含strdup?用gcc 4.5.2 注意我正在使用mingw。我试过包括cstdlib,cstring,string.h,并尝试使用std ::。 > g ++ -std = c ++ 0x a.cpp a.cpp ..
发布时间:2018-04-18 20:23:02 其他开发语言

类型字符串和strdup

如果一个输入const字符串以某种方式被修改(这导致C编译器警告),什么是最好的方式来处理它 - 类型转换为一个新的变量,然后使用它或复制它,并使用它,然后释放它。或者有任何其他方法来处理这种类型的场景。请建议。任何帮助将不胜感激。 //类型 * s1; char * s2 =(char *)s1; //重复且免费 const char * s1; ..
发布时间:2016-11-14 00:34:43 其他开发

模板的'strdup()'?

template static T * anydup(const T * src,size_t len){ T * ptr = malloc(len * sizeof(T)); memcpy(ptr,src,(len * sizeof(T))); return ptr; } 这是否正确?当使用int,long等时,我可以预期任何错误吗? ..
发布时间:2016-10-30 04:42:00 C/C++开发

的strdup()导致内存泄漏?

我实现了返回一个字符串的函数。它需要一个整数作为参数(年龄),并返回一个格式化字符串。 一切工作正常,除了一个事实,即我有一些疯狂的内存泄漏。我知道的strdup()是这个原因,但我想研究一些修正无济于事。 我的code是: 为const char * returnName(INT年龄){ 字符字符串[30]; sprintf的(字符串,“你是%d个岁”的年龄); 返回的s ..
发布时间:2016-08-25 10:07:10 C/C++

的strdup或_strdup?

当我使用的strdup 在Microsoft Visual C ++,它警告我: 警告C4996:'的strdup':POSIX的名字为这个项目是pcated德$ P $。相反,使用ISO C ++一致性名称:_strdup。详细信息请参见在线帮助。 这样看来 _strdup 是正确的。 但是,当我在海湾合作委员会(Fedora的Linux操作系统)使用 _strdup ,编译器会显 ..
发布时间:2016-08-17 22:52:08 C/C++开发

的strdup()函数

最近,我开始意识到,在的strdup()功能我很喜欢用这么多的OS X是不是ANSI C的一部分,但POSIX的一部分。我不想重写所有我的code,所以我觉得我只是会写我自己的的strdup()功能。这并不难,真的,这只是一个的malloc()和的strcpy()。无论如何,我有作用,但如果我写这个函数,并将其链接到我的code我在做什么,它已经在libc的存在?请问我的链接器或编译器允许我基本上 ..
发布时间:2016-08-17 22:30:42 C/C++

strcpy的VS的strdup

我读的strcpy 是复制一个字符串,的strdup 返回一个指向一个新的字符串复制该字符串。 能否请您解释一下什么情况下你preFER使用的strcpy 和使用什么样的情况下你preFER 的strdup ? 解决方案 的strcpy(PTR2,ptr1的)等同于而(* PTR2 ++ = * ptr1的++) 在这里为的strdup相当于 = PTR2的malloc(strle ..
发布时间:2016-08-17 22:16:55 C/C++

的strdup() - 这是什么在C呢?

什么是的strdup的目的(c)中功能? 解决方案 这听起来像(假设你已经习惯了在C和UNIX分配字的简写方式)究竟是什么,它​​重复字符串。 在牢记它实际上不是ISO C标准本身(这是一个POSIX的东西),它有效地做同样为以下code的一部分: 的char *的strdup(为const char * S){ 字符* D =的malloc(strlen的(S)+ 1); / ..
发布时间:2016-08-17 20:24:15 C/C++