1. ホーム
  2. c

[解決済み] strstr()関数のように、大文字小文字を無視する関数

2022-02-17 08:36:39

質問

2つの文字列があります。例えば、`とします。

str1="One Two Three";

そして

str2="two";

最初の文字列の中に2番目の文字列があるかどうかをチェックして、最初に現れた文字列へのポインタを返すような関数があれば知りたいのですが。 strstr() しかし、同じ文字、大文字、小文字を2つの異なる文字として扱うことはありません。

この例では、この関数は str2 は、最初の文字列では大文字の "T""Two" .

解決方法は?

のマニュアルページより strstr :

STRSTR(3)           Linux Programmer's Manual           STRSTR(3)

NAME
       strstr, strcasestr - locate a substring

SYNOPSIS
       #include <string.h>

       char *strstr(const char *haystack, const char *needle);

       #define _GNU_SOURCE

       #include <string.h>

       char *<b><u>strcasestr</u></b>(const char *haystack, const char *needle);

DESCRIPTION
       The  strstr()  function  finds the first occurrence of the substring needle in
       the string haystack.  The terminating '\0' characters are not compared.

       <b>The strcasestr() function is like strstr(3), but  ignores  the  case  of  both
       arguments.</b>

RETURN VALUE
       These functions return a pointer to the beginning of the substring, or NULL if
       the substring is not found.

つまり、あなたが探しているものは strcasestr .