问题标签 [strncmp]

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 投票
2 回答
80 浏览

c - 如何在c中使用strncmp识别带有颜色代码的字符串?

我在 C 中有两个程序:
一个客户端和一个服务器。

我不打算开发代码的所有细节,一切正常。除了这一点:我希望我的服务器发送彩色确认消息并让我的客户端识别它们。

在服务器上,这些行如下所示:

我想知道我应该使用什么代码来检测客户端上的确认:

事情行不通。我想知道我应该放什么而不是"\x1b[31m220",11放在客户端中才能使事情正常进行。我怀疑颜色代码的某些字符会被解释并因此从字符串中消失,但是哪些字符呢?


这里有颜色代码的解释: stdlib and coloured output in C

0 投票
2 回答
707 浏览

c - 如何将char *与C中的字符串文字进行比较?

我需要将一些 char * (我知道它的长度)与一些字符串文字进行比较。现在我正在这样做:

问题是我有很多这样的比较要进行,分解并键入每个比较是非常乏味的。此外,这样做很难维护并且容易引入错误。

我的问题是是否有速记来输入这个(可能是宏)。

我知道有strncmp并且我已经看到GCC 对其进行了优化。所以,如果速记是使用strncmp,像这样:

然后,我想知道第二个示例与第一个示例具有相同(或更好)的性能。

0 投票
2 回答
278 浏览

c - 即使字符串不相等,strncmp 也会给出 0 - C

strncmp在 C 中遇到函数的情况,即使单词不匹配,它也会返回 0,在下面的示例中,我正在使用字母“R”对其进行测试,并且在运行代码时,即使比较的单词也返回 0在 txt 文档中是 'RUN'。你碰巧知道是否

我是否遗漏了 strncmp 函数中的某些内容或代码中的其他地方?

谢谢您的意见。


0 投票
2 回答
164 浏览

c - strncmp() 函数与 !(strncmp()) 函数

我正在编程一个锁,在哪里解锁它你必须在键盘中插入一个 PIN 码。我有以下变量:

当用户按下键盘上的一个键时,该数字将存储在变量中password,并且在用户按下 4 位数字后,将比较两个变量,以便访问或不访问锁。

我发现一种解决方案是使用 strncmp() 函数:

这可行,但我不明白为什么我应该使用!(strncmo())而不是strncmo(). 如果我使用if (strncmp(password, password_init, 4))结果将是不正确的 PIN 码。

strncmp()函数逐个字符地比较两个字符串,所以有人能解释一下为什么我必须以否定的方式使用它,而不是初始密码和用户在键盘匹配中按下的密码吗?

0 投票
1 回答
142 浏览

c - string.h 中 strncmp 的复杂性

我想知道int strncmp(const char *__s1, const char *__s2, size_t __n)C 库中的时间复杂度(string.h).

我必须研究调用 strncmp 数千次的整个程序的复杂性,我不能忽视这种复杂性。
我在哪里可以找到有关 c 库函数复杂性的文档?

0 投票
4 回答
153 浏览

c - 如何复制使用 strncpy 后剩余的字符串

我正在学习 C 并想了解如何在使用strncpy. 我想让字符串Hello World分成两行。

如何将剩余字符 ( o World!\n) 复制到新行中以打印出来?

0 投票
1 回答
62 浏览

arrays - 我的 strncmp 不适用于两个二维数组

我正在尝试比较并在我的两个数组中查找匹配项,但它不起作用,任何人都可以帮忙吗?

0 投票
1 回答
80 浏览

c - string.h 函数 - strncpy 和 strncat 奇怪的行为

0 投票
2 回答
60 浏览

c - 为什么 `strncmp()` 在特殊情况下会返回错误值?

我用 C 编写了一小段代码来测试strncmp()功能memcmp()。这是代码。

我发现strncmp(s1, s2, 8) = 0同时memcmp(s1, s2, 8) = -97. 因为\0不等于a,我认为strncmp(s1, s2, 8)应该返回一个非零值。

然后我尝试打印s1s2长度,它们都是 9。我尝试测试更多案例,strncmp()按预期工作。

s1最后,我尝试了与and类似的情况s2strncmp返回错误值。以下是我的代码:

我想也许strncmp()在它相遇之后不会比较字符\0?不就是这样吗strcmp。我不确定它是否strncmp()strcmp().