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

c - 计算一个 IP 号码在文本文件中出现的次数 - C 程序

我有一个 10 次点击的日志文件,例如一行是:

每行的格式相同,即 IP 地址总是在开头。

我目前已使用 fopen 和 fgets 读取文件,但现在我想计算文件中有多少个唯一 IP,以及计算 IP“命中”的次数。不知道我会如何尝试这个..关于我将如何去做的任何提示?

0 投票
1 回答
290 浏览

c - tftp传输后比较md5

因为我使用tftp命令传输一个重要文件,所以我想比较md5以使传输生效。注意:文件已经在下面的示例中传输

输出 :

输入文件包含:

X 是 char 和 D 十进制值。

为什么 ret 不等于 0 ?另外,不知道34是从哪里来的

编辑:代码已更新,问题来自 md5_length 定义。long 类型已换成 size_t

0 投票
3 回答
1260 浏览

c++ - C++ 从 'char' 到 'const char' 的无效转换

我在进行二维数组比较时遇到问题。我需要创建一个伪登录系统,要求用户输入用户名和密码,然后将输入与预定义的用户名列表进行比较。

在函数中,预定义的用户名由 表示,*s用户输入为*s1。当我尝试编译它时,出现了这个讨厌的麻烦制造者:

68 D:\Personal\Dev-Cpp\projects\loginSysTest\main.cpp 来自char' toconst的无效转换

关于语句strncmp中的功能。if

这是代码:

先感谢您。

0 投票
2 回答
3285 浏览

c - strncmp(NULL, "foo", 0) 定义明确吗?

strncmp如果第三个参数为零,将 NULL 指针作为参数是否安全?即像这样的调用:

0 投票
3 回答
1553 浏览

memcmp - strncmp 和 memcmp 的使用

做同样的事情

buf并且buf2是 char* 数组或类似的。

我打算将此附加到另一个问题,但后来决定单独发布它可能会更好。大概答案是微不足道的“是”,或者如果不是,那么有什么区别?

(我从在线文档中找到了这些功能,但不确定,strncmp因为文档有点不清楚。)

0 投票
3 回答
1302 浏览

c - strncmp 的这种用法是否包含越界读取?

Fortify 表明这是一个越界读取:

它表示该函数从less than 32 char.

strncmp如果超过 32 个字符并且第二个字符串小于 32 个字符,是否真的有发现?

0 投票
1 回答
314 浏览

c - c 从以 " 开头的字符串中找到确切的单词

我正在为我的 C 编程课程做 C 练习。我必须将文本文件中的数据读入链接列表并查找匹配项,然后将结果打印出来。

文本文件示例:

使用 fgets()、sscanf() 和 void 函数将它们存储到我的链表中,因此字符串将以引号开头。

问题是当我尝试使用 strncmp() 从字符串中查找单词时,由于引号而无法正常工作。

我做了类似的事情:

我真的不知道从以引号开头的字符串中找到一个确切的单词,任何帮助将不胜感激,谢谢。

现在解决了,感谢 Barmar 的想法。当我尝试使用 strstr() 而不是 strncmp() 时,它工作得很好。

0 投票
2 回答
457 浏览

c - 为什么即使使用了 volatile 关键字,编译器也会因为 strncmp() 而优化掉共享内存读取?

这是一个foo.c将数据写入共享内存的程序。

这是另一个bar.c从同一共享内存中读取数据的程序。

我首先在一个终端中运行编写器程序。

当编写器程序仍在运行时,我在另一个终端中运行读取器程序。

阅读器程序进入无限循环。看起来优化器已经优化了以下代码

因为它在循环中看不到任何可以在mem读取一次后修改数据的内容。

但我正是出于这个原因宣布mem的;volatile以防止编译器对其进行优化。

为什么编译器仍然优化读取mem

顺便说一句,我找到了一个可行的解决方案。有效的解决方案是修改

为什么编译器优化了,但即使声明在两种情况下strncmp((char *) mem, "exit", 4) != 0都没有优化?mem[0] != 'e' || mem[1] != 'x' || mem[2] != 'i' || mem[3] != 't'char *memvolatile

0 投票
2 回答
4859 浏览

c - 在 C 中将非空终止字符串传递给 strncmp 是否合法?

我有一个包含可执行文件段名称的 16 字节数组。

如果段名长度小于 16 个字节,则用空字节填充其余部分。否则,没有终止的空字节。

我想比较segname各种字符串,例如__text.

strncmp使用非空终止字符串调用是否合法?

这篇文章假定它是合法的。此源代码也使其合法。但是我的男人页面说:

strncmp()函数按字典顺序比较以 null 结尾的字符串s1s2.

传递给strncmp的大小将是 的大小segname

我想知道我应该参考什么。

0 投票
1 回答
535 浏览

c - 使用 fgets 从文件中读取行并将每一行与 c 中的 strncmp 进行比较

我想从一个看起来像这样的文件中读取每一行:

我想使用:

  1. fgets() 逐行读取文件
  2. strncmp() 将每一行与给定的字符串进行比较或查看其格式是否正确

是)我有的:

所以问题是它只是给了我一个错误解析,我不知道我在这里做错了什么。

非常感谢你帮助我!

在这里我现在做了一些事情(现在解析前两行):也许有人对我有一个很好的提示,我可以做得更好。非常感谢。

// 最后一个符号必须是 }\n