问题标签 [strcmp]
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++ - 用于 unordered_map::find 的 std::string 和潜在非空终止字符数组之间的 C++ 自定义比较器
我知道这个问题可能听起来很奇怪,但是有一些遗留代码有一个 unordered_map,其中 std::string 键的最大大小为 8+1(1 表示空终止)。
我在 char[8] 变量中接收到一个字符串,我不希望仅为 find() 调用 strcpy 到临时 std::string 。
有没有办法以某种方式实现一些比较器,以便我可以直接在 find() 调用中使用 char[8] ?
请记住,char[8] 可能包含类似“12345678”(无空终止)的内容,因此默认的 strcmp 可能不起作用,尽管 strncmp 可能会起作用?
c - C中的“传递strcmp的参数2使指针从整数而不进行强制转换”错误是什么意思?
我正在编译我的 C 代码并收到两个错误:
警告:传递 strcmp 的参数 2 使指针从整数而不进行强制转换
和
警告:注意:预期 const char * 但参数是 int 类型
这是我的主要:
c - 正确使用strcmp函数?
有人可以向我解释如何正确使用该strcmp
功能吗?我正在创建一个井字游戏,但我不断收到错误消息:
我创建了两个指针作为strcmp
函数的参数。一是玩家输入的输入,二是玩家选择的动作。但是,当我尝试运行代码时,出现上述错误。下面是我的一段代码:
c++ - strcpy 和 strcmp,我做错了什么?
完成后,用户应输入一些字符串并输入空格作为字符串。代码应返回输入的最长和最短的单词。
strcmp 总是返回-1 ...我做错了什么?
c - qsort 分段错误
所以我正在开发一个程序,该函数从 stdio 读取,并继续读取n 个字符块中的字符。
到目前为止,我已经将所有内容存储在一个称为缓冲区的字符数组中。对于下一步,我需要对每块 n 个字符进行排序。例如,如果 n =5,字符串cats/ndogs/n 应该拆分为cats/n dogs/n,然后qsort()
需要按字母顺序排列。这就是我打电话的方式qsort()
:
其中(line-2)*n*sizeof(char)
给出数组缓冲区中的项目总数;在这种情况下为 10。
这是我的比较功能:
但是,当我运行它时,我总是在strcmp()
. 任何想法为什么?
这是加载代码:
php - 为什么“回显strcmp('60','100');” 在 php 输出 5 中?
PHP 关于这个函数的文档有点稀疏,我读过这个函数比较 ASCII 值,所以......
最后一个例子让我感到困惑。我不明白为什么它输出一个正数。
- ASCII 值 0 = 48
- ASCII 值 1 = 49
ASCII 值 6 = 54
'60' 的总 ASCII 值 = (54 + 48) = 102
- '100' 的总 ASCII 值 = (49 + 48 + 48) = 145
strcmp() 函数说 '60' 比 '100' “更大”,即使 '100' 的 ASCII 值和字符串长度似乎大于 '60'
谁能解释为什么?
谢谢
c - 没有在 C 中正确使用 strcmp
我编写了这个方法来找到适合给定小数的 2 的最大幂。十进制为 char 数组格式,以避免数字存储时出现输入溢出错误。2 的幂是用 float 的 pow(2, power) 格式计算的,即。8.000000 这个数字然后被发送到一个方法来删除句点和 0 的那个轨迹。IE。8.000000 变成 8
例如,如果我在 argv[1] 中输入 20,它将输出:
我哪里错了?另外,忽略 for 循环的结束条件。它应该在第 6 次迭代之前输出所有 1,在第 6 次和第 6 次迭代之后输出所有 -1。
c - 有什么作用?意思是当使用 printf 输出字符串时 strcmp 是否应该为匹配返回零(在 C 中)?
硬件的重点是它应该从文件中读取:
并输出:
所以我的问题是在我的输出中获取应该出现的字符的问号,并且 strcmp 没有为我的 if 语句返回零,这需要它工作(注意:我有很多评论和 printf 来帮助我弄清楚我哪里出错了):
这是我的输出:
我是 C 的新手,我不知道为什么我会得到那个输出。请提示。
matlab - 在 MATLAB 中询问是或否查询
我在 MATLAB 中编写了一个脚本,我在其中根据 WHERE 子句从表中检索行和列。到目前为止,我设法从数据库表中检索数据。
问题是我想让用户可以选择运行另一个搜索来检索另一组数据。
这是我目前拥有的代码,脚本名为“searchpdb”。
我曾尝试使用“questdlg”,但在我为用户提供再次运行的选项后,它没有显示表中数据的结果。
我这样做是错误的,还是有另一种有效的方法?再次运行脚本的选项应该在另一个脚本中吗?
c - gdb中的strcmp给出奇怪的结果
在 GDB(gnu v 7.1-ubuntu)中,当我尝试使用strcmp
来确定两个字符串是否相等时,我得到了非常奇怪的结果。p strcmp("hello","hello")
正在给我结果-145947168
。
我尝试使用的所有内容strcmp
或在 gdbstrncmp
中返回的所有内容。-145947168
我究竟做错了什么?
编辑(感谢 Carl 在评论中指向相关答案的指针):查看这个问题的答案:如何评估 GDB 中的函数?
显然,有时编译器会优化从外部库调用的函数,并在代码中定义一个调用您想要在 GDB 中访问的外部库的函数的函数将使其可用。
我将此添加到我的代码中:
然后重新制作-DDEBUG -g
以启用这些帮助函数的编译以用于我的 gdb 调试。