问题标签 [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 投票
6 回答
10056 浏览

c - 在C中如何strcmp只是开始的2个字符然后连接?

在 C 中我如何 strcmp 只是开始的 2 个字符?然后与另一个字符串连接?像这样的东西:

0 投票
2 回答
81 浏览

c - 为什么这两个程序在 VC++2008 中给出不同的输出?

为什么这两个程序在 VC++2008 中给出不同的输出?

毕竟,比较的是相同的字符串。

strcmp__usage.c

输出

strncmp_usage.c

输出

0 投票
1 回答
2324 浏览

iphone - 为什么我的 strcmp 总是返回 true?

我正在尝试将来自 iphone 应用程序的用户文本输入与我声明的静态数组中的文本进行比较。它总是返回“true”,即使文本不同。执行 strncmp 后,我显示两个文本字段。在人眼看来,它们就是我所期望的领域。我返回屏幕的 debugmsg 显示了我期望的值,但比较总是正确的。任何建议,将不胜感激。谢谢。

0 投票
6 回答
284 浏览

c - strncmp 函数不会在 n 个字符处停止检查?

我的程序完全比较了这两个字符串,并且一旦达到 n 个字符就不会停止?为什么会这样?

0 投票
1 回答
4866 浏览

c - 在 C 中读取输入文件时忽略空格

我正在尝试编写将每行的第一个单词注册为命令的代码,但我希望能够读取该单词,而不管它前面是否有空格。我目前正在使用 fgets() 和 strncmp 每行的前 x 个字符来执行此操作,但它不适用于任意数量的空格。我尝试在 fgets() 循环中使用 sscanf() 将每行的第一个单词存储到一个变量中,但它似乎跳过了行并错误地读取了它们。我宁愿不发布代码,因为它很长,但基本上是这样的:

有很多 strncmps,我希望它们中的每一个都忽略任意数量的前面的空格。

0 投票
8 回答
4059 浏览

c - 如何将字符与C中的给定字符集进行比较?

我希望能够将一个字符stdin与我的规范字符进行比较。这样做的目的是过滤掉所有其他错误的输入,同时只保留指定的单个字符作为命令。就像在stdin"nn" 或 "qddaw" 上一样 -> 再次出错,但 "n" 使一些有用的东西。

这是我想到的“代码方面”:

好吧,我尝试创建一个具有指定字符的数组,array[] = {'a', 'b', 'c'}这样我就可以使用函数 strncmp.. 将它与标准输入上的字符串进行比较

但它似乎不起作用。有什么建议么?

Edit1:这是实际的一段代码:

如您所见,我很好地处理了“q”的事情,但是多个字符很麻烦。感谢您的任何建议。

编辑2:或者换句话说,我需要一个函数,它将输入与一组给定的字符进行比较,并且只有当有一个另一个时(如'q'或's'函数才会通过(但如果有字符在一起则不会)像'qs')

0 投票
2 回答
1755 浏览

c - C中的rs232字符串比较

我正在尝试制作一个可以从 RS232 端口读取命令并将其用于下一步操作的程序。

我正在使用字符串比较命令将所需的“操作”字符串与 RS232 字符串进行比较。某处的字符串转换出了点问题。我使用 putstr commando 来查看我的微控制器从我的计算机中得到了什么,但它不能正常工作。它返回我的字符串的最后两个字符,中间有一个点或一个“d”。(我完全不知道 dot/d 是从哪里来的……)

所以这是我的主要代码:

这些是使用的 RS232 功能:

当我将这个程序与连接到终端的 Microchip 一起使用时,我得到如下信息:

0 投票
4 回答
1533 浏览

c - 为什么 fgets() 和 strncmp() 在这个 C 代码中不能用于字符串比较?

这是我遇到的一个非常有趣的问题。我对堆栈溢出做了很多搜索,发现其他人也有类似的问题。所以我相应地编写了我的代码。我本来有fscan()and strcmp(),但这完全轰炸了我。所以其他帖子建议fgets()strncmp()使用长度来比较它们。

我试图通过打印出我的两个字符串的大小来调试我在做什么。我想,也许他们/n漂浮在那里或其他什么东西把它搞砸了(另一篇文章谈到了这一点,但我认为这里不会发生这种情况)。因此,如果大小相同,则限制strncmp()应该相同。正确的?只是为了确保他们被认为是正确的比较。现在,我知道如果字符串相同,则返回0负数strncmp()。但它不起作用。

这是我得到的输出:

这是我的代码:

我根据以下建议对其进行了更新。char *尤其是在学习了作为指针和将某物称为字符串之间的区别之后。但是,它仍然给我同样的错误。

请注意,这MAX_WORD_LENGTH是我的程序顶部使用的定义语句

0 投票
3 回答
214 浏览

c - C Strncmp 返回部分输入

我目前正在运行一个链表结构,我需要找到一种方法让用户在结构中搜索某个字段。我已经这样做了,但问题是它必须是准确的。例如,如果用户输入“maggie”,它将返回结果,但如果用户输入“mag”,则不会像我想要的那样返回 Maggie 记录。

有任何想法吗?我猜有一种方法可以与字符进行比较?谢谢!

0 投票
2 回答
795 浏览

c++ - C++:有趣的字符串比较崩溃

我试图在 C++ 程序中采用一个简单的命令行参数来触发不同的程序行为——当你包含一个“y”(或任何以 y 开头的字符串——我不在乎)时,程序会显示一些中间结果.
当我和

ccal pix.txt

一切正常。

当我使用

ccal pix.txt 是的

它运行正常,显示我的像素并在最后崩溃。

还,

ccal pix.txt 没有

在不显示 pix 的情况下运行一切正常(就像它应该的那样),最后仍然崩溃。

这是相关代码-我做错了什么?

奇怪的是,即使我将案例 3 中的测试切换为以下内容:

我仍然得到相同的行为。我无法为我的生活找出原因。