问题标签 [strncpy]
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 - 创建 C 子字符串:使用赋值运算符 VS strncopy 循环,哪个更好?
这可能有点毫无意义,但我很好奇你们对此有何看法。我正在使用指针迭代一个字符串,并希望从中提取一个短子字符串(将子字符串放入预先分配的临时数组中)。是否有任何理由在 strncopy 上使用赋值,反之亦然?IE
在我看来, strncopy 的输入更少而且更容易阅读,但我看到人们提倡使用循环。有区别吗?这还重要吗?假设这是针对 i (0 < i < 5) 的小值,并且保证了空终止。
参考:c 中的字符串,如何获取子字符串,如何获取 C 中的子字符串, strncpy 和 memcpy 之间的区别?
c++ - 如何将 strncpy() 转换为 WCHAR
我得到了一段在多字节字符集下工作的代码。但是,我想将这段代码转换为 UNICODE。所以我修复了很多东西,但在 strncpy() 行失败了。这是我要更改的行:
我使用了很多功能来解决这个问题,但都失败了。
这是错误:
c - C:strncpy 导致指针问题
可能重复:
为什么在写入字符串时会出现分段错误?
我想替换字符串中的一个单词。这是代码
这工作正常,但
这给出了分段错误。
在第一个示例中,“文本”是一个数组,数据只是复制到该位置。在第二个“文本”是一个指针。什么是问题?
c - 在 C 中使用命令行检测参数,然后打印出参数的第一个或第二个字符
我需要制作一个程序,在命令行中接受不少于 2 个且不超过 6 个参数,然后打印出第一个或第二个字符 EX:asdf asdf asdf asdf 打印为:asas
我有初始数组设置和工作,下面的 for 循环旨在在输入中的一个空格处切断字符串并将其复制到新字符串,但它无法正常工作。我是 C 和这个网站的新手。任何帮助是极大的赞赏。
c - 在C中复制字符串的结尾
我正在尝试使用 strncpy 仅将字符串的一部分复制到 C 中的另一个字符串。
如:
然后复制"do this"
到另一个字符串,这样:
帮助表示赞赏。
c - C中strncpy的总线错误
我正在从事与此问题相同的项目,但是 typedef 略有不同:
我正在尝试将字符串拆分为单个单词,将其粘贴到 data_t 结构中,然后将其插入到二叉搜索树中。这个想法是,在遍历输入字符串时,当发现该字符是一个标记单词结尾的字符时,将单词开头和结尾之间的字符数复制到一个字符串中,我有尝试使用:
在哪里:
但是,当调用该特定行时,gcc 会给出总线错误。如何修复此总线错误并保留当前解决方案,还是寻找不同的解决方案更明智?
到目前为止,我能想到的唯一想法是,一次一个字符,将字符放入字符串中,直到到达单词的末尾。
c - 使用 strncpy。Valgrind 抛出无效读取
我做了这个功能:
t_proceso 是什么并不重要,问题是这个函数接收一个字符数组。
该函数将始终接收其“某物()”的字符数组,我要做的是删除最后两个字符“()”,然后调用函数push_stack()。
问题是当我运行 Valgrind 时,我得到了这个:
我不知道我做错了什么,所以任何帮助将不胜感激。
c - strncpy 行为与 sprintf 不同
我正在使用以下代码创建一个用于测试哈希表的“密钥”(特别是,我正在测试删除项目所需的时间):
在我用评论标记的行中,有一个奇怪的行为。我正在使用 sprintf 将“temp_key”的内容复制到“key”。在此之前,我使用 strncpy 将“temp_key”的内容复制到“key”,但我从这个操作得到的结果是这样的(从 XCode 的调试器打印):
而“temp_key”产生以下输出:
哈希表使用 memcmp 比较 htable_item_search 函数中的键。但是使用 strncpy 有一些项目(如“Key:10”)在使用 sprintf 时找不到它完美地工作。那么为什么会有这种差异呢?
c - 为什么这个 strncpy() 实现在第二次运行时崩溃?
为什么这个 strncpy() 实现在第二次运行时崩溃,而第一次运行正常?
字符串
Copy characters from string 将
n
源的第一个字符复制到目标。如果在复制字符之前找到源 C 字符串的结尾(由空字符表示)n
,则用零填充目标,直到总共n
写入了字符。如果源长度大于
n
(因此,在这种情况下,目标可能不是以空结尾的 C 字符串),则不会在目标末尾隐式附加空字符。
c++ - strncpy 没有按预期工作
我的输出是:some random string
. 但我希望它是:some
. 谁能解释为什么它会这样?