问题标签 [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++ - 比 memcpy 更快的方法来复制 0 终止的字符串
我有一个关于复制以 0 结尾的字符串的问题:
...我知道我可以使用这个功能
但我想使用我自己的复制功能,它有这样的动作
两种方式都是真实的和成功的。现在我想检查 1000 万次并为 memcpy 执行此操作
这是我自己的方式
第一个过程在420 毫秒内完成,第二个过程在650 毫秒内完成 ……为什么?这两种方式都是一样的!我想使用我自己的函数而不是 memcpy。有什么方法可以让我自己的方式更快(因为 memcpy 很快或者可能更快)?我如何更新自己的方式(同时)以使其更快或与 memcpy 相等?
完整来源
结果:
482 毫秒
654 毫秒
c++ - 在循环中释放 strdup 输出
我有一个循环尝试从 qml 列表对象中读取数据,这是我的循环
好吧,我尝试了一些方法来使上面的代码工作,但没有一个工作,例如如果我使用strdup
它会工作但它需要被释放,我试图将输出保存strdup
在一个变量中,然后在循环中释放它,但它释放了所有变量。这是我的尝试
我注意到所有的argvarry[i]
东西也会被释放,所以我不能再使用它们了。好吧,我怎样才能让它工作,我太自由了strdup
,但我无法处理它。如何更改此循环以及何时使用 argvarry
免费strup
结果?
如果我将上面的代码更改为类似的东西怎么办
c - C 编程 - Strdup 无法正确捕获和存储数组中的文件名
我正在尝试将文件名存储在数组中。该数组在一个结构中,我想存储在数组中的目录中找到的文件的名称。但是,我用来存储名称的过程似乎在此过程中损坏了 2 或 3 个名称。我认为问题出在strdup
关键字上。每当我运行我的程序时,它要么读取程序可执行文件(位于我从中读取文件的目录上方的目录中),要么读取存储在前几个数组位置的奇怪符号。以下是我尝试捕获和存储文件名的程序的一部分,以及输出结果的图片:
我可以做些什么来解决前几个数组位置中文件名的损坏存储?为什么只有前几个位置没有正确存储文件名,但其他位置都可以?是否存在问题strdup
,如果是,那么在数组中捕获和存储文件名的好方法是什么?提前致谢!
c - 免费获得一致的动态分配的字符指针?
我有一个包含一堆 char 指针的结构,它们的值在程序的整个生命周期中都会使用。大多数在每次迭代时都会被覆盖。
除了程序退出之外,是否应该在任何时候释放这些值?char 指针中的值是否应该在用 覆盖之前被释放strdup("new value")
?
c - 字符串和用户在C中输入的字符串有什么区别
我正在使用一小段代码来测试更大(初学者)程序的功能,但我不明白两个字符串之间的区别。
我发现并使用了:
这一次打印一个令牌。
然后,当我尝试移动到用户输入的字符串时:
我得到一个段错误。我了解指针、数组和字符串的基础知识,但显然我遗漏了一些东西,并且希望有人告诉我它是什么!
另外-如果我更改printf("%s\n",found);
为printf("%i\n",found);
我会返回一些垃圾整数,但总是正确的数量,例如,如果我输入1/2/3
我会得到三行整数,1111/2222
我会得到两行。
谢谢!
- 编辑 - 有一个附加问题,在此处strsep
详细说明。谢谢大家。
c - C中的字符串复制
我有一个函数,我将一个字符指针传递给它,例如:
我想将字符串复制到临时字符串变量,然后将其复制到结构中。这是我迄今为止所做的:
当我调用该函数时,这给了我一个分段错误。我认为这是因为我不允许直接复制到 struct 变量中......但是我还要如何复制它呢?
c - C 结构数组(抛出异常)
我创建了一个结构数组 Human ,其中包含char *name
.
我使用这样的功能:
我已经测试了这个功能,它工作得很好,但是当我像这样使用它时我的问题就开始了:
正如我所说,如果我生成一个人类,它就可以正常工作。我调试了我的代码,当我谈到strdup(name)
它的时候,我抛出了这个:
我正在使用 VS 2017 企业版。
c - 释放导致崩溃
有什么区别:
情况1:
案例2:
Case2 导致崩溃。
和后面strdup
一样好。为什么第二种情况会崩溃?malloc
strcpy
string - 我被这段代码卡住了,为什么它不起作用?
为什么这段代码没有给我正确的输出?我期望输出为 decomptxt = aa"。
我输入了 02a (RLEText)" "函数 'Compressdata' 不会在所有代码路径上返回值。使用结果时,可能会在运行时发生空引用异常。”
预期结果:decomptxt = aa
这是我的代码:
c - 初始化字符串和使用 strdup() 有什么不同
和有什么区别
和
例如:
为什么*key_str
在函数中使用时它们的行为不同strCmp()
?