为什么有多个 C 函数用于不区分大小写的比较

2023-12-11

为了比较任何字符串而不考虑其大小写,有各种 C 库函数,例如strcasecmp(), stricmp() and stricmpi()。这些有什么区别呢?


有多种方法可以做很多事情,主要是因为标准流程滞后于实施。人们看到了对函数的需求(在本例中是不区分大小写的字符串比较),并且一些编译器编写者/库编写者实现了一个名为strcmpi,而另一组实现stricmp,而另一个小组决定没有必要实施它,而另一个小组则实施strcasecmp而另一组实施strcmpnocase几年后,来自不同群体的代表在殊死搏斗中相遇,获胜者的实现成为语言的一部分。与此同时,其他实现继续使用其他命名的方法,并且语言变得更强/碎片/增益膨胀(取决于您的观点)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么有多个 C 函数用于不区分大小写的比较 的相关文章

  • 使用 Enumerable.OfType() 或 LINQ 查找特定类型的所有子控件

    Existed MyControl1 Controls OfType
  • EF Core 通过完全替换断开集合导航属性的更新

    使用 EF Core 5 0 我有一个 SPA 页面 可以加载Group实体及其集合Employee来自 API 的实体 var groupToUpdate await context Groups Include g gt g Emplo
  • VS 程序在调试模式下崩溃,但在发布模式下不崩溃?

    我正在 VS 2012 中运行以下程序来尝试 Thrust 函数查找 include cuda runtime h include device launch parameters h include
  • 我如何在 C# .NET(win7 手机)中使用“DataContractJsonSerializer”读入“嵌套”Json 文件?

    我有一个问题 如果我的 json 文件看起来像这样 Numbers 45387 Words 空间桶 我可以很好地阅读它 但是如果它看起来像这样 Main Numbers 45387 Words 空间桶 某事 数字 12345 单词 克兰斯基
  • 防止 boost::asio::io_context 在空轮询调用时停止

    此代码调用发布的句柄 boost asio io context ioc boost asio post ioc std cout lt lt lol lt lt std endl ioc poll 而这并没有 boost asio io
  • 根据 N 个值中最小的一个返回不同的结果

    不确定如何使标题更具描述性 所以我只是从一个例子开始 我使用下面的代码位 它从枚举中选择一个方向 具体取决于四个轴中哪一个与给定方向相比形成最小角度 static Direction VectorToDirection Vector2 di
  • 如何成功地用 XML 中的批处理替换文本

    我尝试使用批处理在 XML 页面中替换字符串 但无法成功完全替换它 我有这个批处理代码 echo off setlocal EnableDelayedExpansion set search logLevel 3 set replace l
  • 指向特征矩阵的指针数组

    我在代码中使用 Eigen 的 MatrixXd 矩阵 在某个时刻我需要一个 3D 矩阵 由于 Eigen 没有三维矩阵类型 因为它仅针对线性代数进行了优化 因此我创建了一个 MatrixXd 类型的指针数组 Eigen MatrixXd
  • 为什么这个没有特殊字符的正则表达式会匹配更长的字符串?

    我正在使用此方法来尝试查找匹配项 例如 Regex Match A2 TS OIL TS OIL RegexOptions IgnoreCase Success 我得到了真实的结果 我很困惑 我认为这应该返回 false 因为模式中没有特殊
  • 如何获取 QTableView 的标题列表?

    我有一个QTableView我的对话框中的对象 我需要访问该表的水平标题并将它们放入QStringList object 尽管进行了大量搜索 但我在 Qt 文档中找不到如何获取此标头列表 编辑 我发现的最接近的地方是this https w
  • 将二进制数据从 C# 上传到 PHP

    我想将文件从 Windows C 应用程序上传到运行 PHP 的 Web 服务器 我知道 WebClient UploadFile 方法 但我希望能够分块上传文件 以便我可以监控进度并能够暂停 恢复 因此 我正在读取文件的一部分并使用 We
  • AES 输出是否小于输入?

    我想加密一个字符串并将其嵌入到 URL 中 因此我想确保加密的输出不大于输入 AES 是可行的方法吗 不可能创建任何始终会创建比输入更小的输出的算法 但可以将任何输出反转回输入 如果您允许 不大于输入 那么基本上您只是在谈论同构算法alwa
  • 如何分析组合的 python 和 c 代码

    我有一个由多个 python 脚本组成的应用程序 其中一些脚本正在调用 C 代码 该应用程序现在的运行速度比以前慢得多 因此我想对其进行分析以查看问题所在 是否有工具 软件包或只是一种分析此类应用程序的方法 有一个工具可以将 python
  • 我可以让 ungetc 取消阻止阻塞的 fgetc 调用吗?

    我想在收到 SIGUSR1 后使用 ungetc 将 A 字符重新填充到标准输入中 想象一下我有充分的理由这样做 调用 foo 时 stdin 中的阻塞读取不会被收到信号时的 ungetc 调用中断 虽然我没想到它会按原样工作 但我想知道是
  • IEnumerable.Except 不起作用,那么我该怎么办?

    我有一个 linq to sql 数据库 非常简单 我们有 3 个表 项目和用户 有一个名为 User Projects 的连接表将它们连接在一起 我已经有了一个获得的工作方法IEnumberable
  • 新任务中使用的依赖注入服务

    我在需要时使用依赖项注入来访问我的服务 但我现在想要创建一个并发任务 但这会由于依赖项注入对象及其生命周期而导致问题 我读过这篇文章 标题 防止多线程 Link http mehdi me ambient dbcontext in ef6
  • 跨多个域的 ASP.NET 会话

    是否有合适的 NET 解决方案来在多个域上提供持久服务器会话 即 如果该网站的用户在 www site1 com 下登录 他们也将在 www site2 com 下登录 安全是我们正在开发的程序的一个问题 Thanks 它是否需要在会话中
  • Erlang:如何将原子转换为字符串?

    我想从原子转换为字符串 Input hello world Output hello world 我该如何实现这一目标 Use atom to list http erlang org doc man erlang html atom to
  • xsi:type 属性搞乱了 C# XML 反序列化

    我使用 XSD exe 根据 XML 架构 xsd 文件 自动生成 C 对象 我正在反序列化 OpenCover 输出 但其中一个部分类未正确生成 这是导致异常的行
  • Java 和/C++ 在多线程方面的差异

    我读过一些提示 多线程实现很大程度上取决于您正在使用的目标操作系统 操作系统最终提供了多线程能力 比如Linux有POSIX标准实现 而windows32有另一种方式 但我想知道编程语言水平的主要不同 C似乎为同步提供了更多选择 例如互斥锁

随机推荐

  • 如何更改 WooCommerce 订阅中的价格字符串

    我需要一个更好的方法来做到这一点 目前 我已将代码直接添加到 class wc subscriptions product php 文件中的 get price string 函数中 因此当设置免费试用版时 我可以更改添加到价格字符串中的文
  • 为什么“边框颜色”被“颜色”覆盖?

    我有以下CSS isActiveFilter color black background color rgba 0 184 170 5 padding 15px 10px 10px 10px border color red border
  • 检测 UIPopoverController 何时完成呈现 UIImageViewcontroller

    我将 UIImagePickerController 作为 UIPopoverController 的内容视图控制器 我需要检测弹出窗口何时刚刚完成呈现 刚刚出现 UIPopoverController 没有任何委托 我似乎也找不到检测 U
  • 如何让 Geolocation API 在 Dartium 中工作?

    我正在尝试使用 Geolocation API 在 Dartium 浏览器中进行测试 我特别尝试执行以下操作 window navigator geolocation getCurrentPosition then pos window a
  • python 使用字符串列表创建字典,并将字符串长度作为值

    我确信这是可以做到的 但到目前为止我还没有成功 我有一个字符串列表 我想创建一个字典 其中所述字符串的长度 可以表示为范围 作为键 字符串本身作为值 例子 这是类似我的列表 foo bar help this guy 我想最终得到一本这样的
  • 如何找到 PHP 项目中未使用的函数

    如何找到 PHP 项目中未使用的函数 PHP 中是否有内置的功能或 API 可以让我分析我的代码库 例如反射 token get all 这些 API 的功能是否足够丰富 让我不必依赖第三方工具来执行此类分析 您可以尝试 Sebastian
  • C# 列格式设置

    我正在尝试将一些输出格式化到控制台 但解决方案存在一些问题 我在 C 中执行此操作 但每次调用 Console Write 时 它 都会将整个内容打印到控制台的最后 然后开始一个新行 所以我想做的是将其调整为四列 然后在那里开始一个新行 以
  • 返回指针后删除堆

    我有一个如下的功能 int readFile string InputPath int myvar new int 10 The file has 10 lines Using heap ifstream inFile inFile ope
  • 带有参数的 Facebook 帖子

    我需要在 Facebook 上发布带有参数的帖子 我使用了这里的解决方案 动态生成 Facebook Open Graph 元标签和这里 WordPress PHP 中的动态 Facebook 和元标签 最终工作代码
  • 使用 WatiN 进行自动完成下拉菜单测试

    我正在使用 WatiN 来测试自动完成下拉列表 当用户在输入 3 个字符后在字段中键入时 将触发 jquery 自动完成并显示无序列表 用户必须从列表中进行选择 我无法使用 WatiN 从列表中进行选择 触发自动完成 以下是开发人员使用的一
  • ASP.NET Ajax 客户端框架无法加载。当将 ScriptManager 放在空白页上时

    我有一个错误Microsoft JScript 运行时错误 ASP NET Ajax 客户端框架无法加载 使用母版页在空白页上
  • GGplot2 中面板背景的条件格式

    我想知道是否有一种 直接 方式将 ggplot 分面面板中回归线的斜率链接到该面板的背景颜色 即在视觉上将大网格中的正斜率与负斜率分开 我了解如何在 GGplots 中添加回归线 正如上所解释的那样使用 R 中的 qplot 将回归线添加到
  • 使用 simpledateformat 将日期转换为字符串

    我在将日期转换为不同格式的字符串时遇到问题 日期 lastDownloadDate gt gt Wed Feb 27 16 20 23 IST 2013 lastChangeDate gt gt Wed Feb 27 15 11 00 IS
  • 在 ckeditor5 下拉项上注册点击侦听器

    我目前正在尝试编写一个插件CK编辑器5支持自动翻译 我发现如何编写插件以及如何在文档中创建下拉菜单 但在文档中没有提及 或者我错过了 如何获知有关单击值的信息 打开下拉列表的按钮有一个执行处理程序 但如何注册一个监听器来单击其中一个值 我可
  • Prolog插入排序

    有一个简单的Prolog插入排序算法 sorting A B Sorted sorting B SortedTail insert A SortedTail Sorted sorting insert A B C B D A gt B in
  • R 中每年的数据摘要

    我有一个包含两列的数据 一列中是日期 另一列中是流量数据 我能够将数据读取为日期和流量数据 我使用了以下代码 creek lt read csv creek csv library ggplot2 creek 1 10 colnames c
  • 如何使用 THREE.js 将样条线挤出到场景的原点

    当我尝试将样条线挤出到场景的原点时 我感到头疼 这就是我想做的 我正在创建一个样条线 let centerX 0 let centerY 0 let radius 200 let coils 50 let rotation 2 Math P
  • Pandas DataFrame 按分类列排序,但按特定类排序

    我想通过使用基于特定列的条目来选择 Pandas 数据框中的顶部条目df selected df targets head N 每个条目都有一个target值 按重要性排序 Likely Supporter GOTV Persuasion
  • 是什么导致这个变量在赋值之前引用错误?

    这是我正在使用的代码 import pygame global lead x global lead y global lead x change global lead y change lead x 300 lead y 300 lea
  • 为什么有多个 C 函数用于不区分大小写的比较

    为了比较任何字符串而不考虑其大小写 有各种 C 库函数 例如strcasecmp stricmp and stricmpi 这些有什么区别呢 有多种方法可以做很多事情 主要是因为标准流程滞后于实施 人们看到了对函数的需求 在本例中是不区分大