匹配数组中的确切位置

时间:2015-11-19 00:18:53

标签: c++ c-strings

我能够创建一个函数来搜索并返回一个单词中的多个匹配字符,但现在我无法创建另一个函数来搜索这两个单词是否完全匹配到该位置并返回该数字比赛约束是c字符串。 因此,如果一个单词很小,我进入了它,它应该返回3。

我在下面附上的功能就是我能够找到的功能

define(function (require) {
  var services = {};
  services.service1 = require('services/service1');
  services.service2 = require('services/service2');
  services.service3 = require('services/service3');
  services.service4 = require('services/service4');
  services.service5 = require('services/service5');
  return services;
});

2 个答案:

答案 0 :(得分:1)

int countMatches(const char s1[], const char s2[]) {
  int i = 0;
  while (s1[i] != '\0' && s2[i] != '\0' && s1[i] == s2[i])
    i++;
  return i;
}

答案 1 :(得分:1)

如果只需计算两个单词中的初始匹配字符数,那么该函数可以按以下方式查看

size_t countMatches( const char s1[], const char s2[] )
{    
    size_t nMatches = 0;

    while ( s1[nMatches] && s1[nMatches] == s2[nMatches] ) ++nMatches;

    return nMatches;
}

考虑到最好将计数用于size_t类型。它是标准C函数strlen的返回值的类型。运算符sizeof也会生成类型为size_t的值。其他接受整数值的C标准函数的参数类型为size_t