在C中的两个设置位置(整数值)之间比较两个字符串的两个子字符串[关闭]

Posted

技术标签:

【中文标题】在C中的两个设置位置(整数值)之间比较两个字符串的两个子字符串[关闭]【英文标题】:Comparing two Sub-Strings of two Strings between two set positions (integer values) in C [closed] 【发布时间】:2019-04-12 02:46:28 【问题描述】:

我有两个字符串,想比较它们,但在两个变量之间。示例:字符串 a = "***" 和字符串 b = "stacknotoverflow"。我想检查两个字符串的字符串 a 的第 5 个位置(int = 5 直到 int =9)和字符串 b 的第 8 个位置(int = 8 直到 int = 12)之间的每个字符是否相同。谁能帮我解决这个简单的问题?

【问题讨论】:

C 还是 C#?为什么要两个标签? 你尝试过做什么,问题出在哪里? 我有一个数组 char a[1000][100]。我得到了一个字符串:。现在我想比较它们,但只比较第 5 和第 8 个字符之间的位置。 重新打开。这个问题是关于比较内部子字符串,而不是简单的字符串比较。 再次以“过于宽泛”为由投票结束。 OP 没有显示任何尝试。 【参考方案1】:

您可以使用strncmp 函数比较两个字符串,最多可包含最大字符数。要在字符串中间开始比较,您需要传入数组元素的地址以开始比较。

例如:

if (strncmp(&string1[4], &string2[4], 4) == 0) 
    printf("characters 5 - 8 are the same\n");
 else 
    printf("characters 5 - 8 are not the same\n");

【讨论】:

感谢您帮助新手 :)【参考方案2】:

假设你在谈论 C。

https://linux.die.net/man/3/strcmp

此函数用于比较 C 中的字符串。

int result = strcmp(str1, str2);
printf("Compare result: %d", result);

【讨论】:

这会比较整个字符串,这不是问题。

以上是关于在C中的两个设置位置(整数值)之间比较两个字符串的两个子字符串[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Linux Shell数值比较和字符串比较及相关

Linux Shell数值比较和字符串比较及相关

比较两个字符串作为数值

R语言中的switch函数用法

excel如何根据单元格数值循环求值?

求教awk两个字符之间截取字符串的方法