问题标签 [string.h]

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 回答
2555 浏览

c - 未定义对“strnstr”的引用如何修复它并运行 strnstr

我需要重现strnstr函数的行为。我想测试strnstr但无法编译程序,它的编写"implicit declaration of function strnstr [-Wimplicit-function-declaration]""undefined reference to strnstr". 我包括了 header <string.h>

我知道这strnstr()不在标准库中,问题可能与编译器有关,但是如何修复它以使其工作strnstr()

编译器版本:gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609

0 投票
2 回答
93 浏览

c - 有没有一种不错的方法可以用 C 中的另一个单词替换文件中的字符串?

有没有办法用 C 中的另一个单词替换文件中的字符串?我意识到唯一可能的方法(也许)是用适当的更改重写临时文件上的第一个文件。问题是,通过这样做,我被迫同时读取和写入同一个文件(它没有那么优化)。有没有办法在不创建新文件的情况下更改字符串?如果是,我该怎么做?

0 投票
2 回答
167 浏览

c - #包括-> 中止陷阱:6?

我正在学习c编程,我遇到了一些奇怪的事情。

我在搞乱 char 数组/字符串并使用不同的函数。所以我有这个程序,

按预期工作,但如果我添加

从一开始,我就明白了

0 投票
2 回答
1509 浏览

c - string.h 和 stdlib.h 函数给了我错误: undefined reference to '...'

我正在修改 ac 项目,这是我第一次尝试在我的项目中使用 stdlib.h 和 string.h 库。我正在研究 MCUXpresso(基于 Eclipse 的 IDE)。这是我的代码:

如您所见,我已经包含了头文件,但编译器给出了错误: undefined reference to 'itoa' ;未定义对“strlen”的引用;对“atoi”的未定义引用并且在我的包含文件夹中已经(默认情况下在我的项目中)包含标准库的文件夹。我看到项目中的其他一些文件中使用了这些函数......我不明白为什么会出现这个错误。在原始代码中,函数位于主体函数中,我已经纠正了这一点。你能帮我吗?

0 投票
2 回答
555 浏览

c - 如何从 strrchr() 或 strchr() 中提取剩余的子字符串?

假设我有以下看起来像文件路径的字符串:

我可以strrchr()用来提取file.jpg如下:

现在我需要提取并存储字符串的其余部分this/is/my/path/to。我如何以最有效的方式做到这一点?请注意,我想避免使用strtok()orregex或大的迭代循环。

如果:

我可以将相同的子字符串提取技术应用于strchr()提取子字符串的位置thisstrchr(filepath, '/')现在我需要提取其余的子字符串is/my/path/to/file.jpg

0 投票
0 回答
154 浏览

c - 用 strcmp() 比较两个字符串给出 EXC_BAD_ACCESS

我有这个函数可以在红黑树中插入一个节点。这棵红黑树的顺序键是字符串id_prod值,由函数比较strcmp。当我尝试在这个结构中插入一个节点时,Xcode 给我这个警报EXC_BAD_ACCESS

这是功能:

字符串在一个文件中。这是从文件读取数据并将其分配给结构节点的函数:

结构:

功能:

这是主要的:

0 投票
1 回答
102 浏览

c - strset 函数在, C

学C语言的时候,听说过C语言中的strset函数。

但是,我在最新版本的 C 中找不到它。

是不是被删了?如果删除了,为什么要删除?

0 投票
1 回答
95 浏览

c - C strcpy 和 strncpy 组合的意外结果

在我高中期末考试的练习中,我们得到了以下问题:

执行代码后查找字符串 s1、s2 和 s3 的值:

全班预期结果为:

当我们通过执行代码对其进行测试时,我们惊讶地看到结果是:

问题是没有人能弄清楚为什么 s2 被缩短了。在试图弄清楚时,我发现 s2 一直保留着“消息服务”,直到执行“strcpy”函数的最后一行代码。我认为问题可能出在指针地址中,但我无法弄清楚 strcpy 如何影响 s2。

所以我的问题是为什么 s2 不是我们预期的那样,为什么它被缩短了?

0 投票
1 回答
226 浏览

c - 仅包含头文件中的特定定义

我使用了 string.h 库中的 strlen() 函数,但不包括我想从最初实现的头文件中包含的头文件,因为我正在编写自己的 strcpy() 实现,如果我包含它说的头文件它是 strcpy() 的多个定义。那么如何仅包含头文件中的特定定义。我需要使用 extern 关键字吗?

标头有 strncpy 的定义

终端跟踪

我不想包含 string.h 但如何明确提供 strlen 的定义

标题

0 投票
1 回答
317 浏览

c - 如何在 C 语言中使用 strxfrm?

我问了一个问题以了解 C 中“strxfrm”的用法。

我知道这个功能是根据当前的语言环境配置转换一个字符串。

但我不知道什么是“变换”,以及这个函数是如何变换的。

例如,我在 macOS 中尝试了如下代码:

我预计“strcmp(xfm1,xfm2)”的结果将是正整数,因为在捷克语中字符“č”在“h”之前。

然而,结果是……

我对这个函数'strxfrm'有误解吗?其实我现在也不太清楚“变身”是什么意思。

请让我知道该功能的正确用法和目的。