stristr在C语言中如何调用
时间: 2023-05-16 17:05:20 浏览: 79
在C语言中,stristr函数是不存在的。如果您需要在C语言中查找子字符串,可以使用strstr函数。该函数的原型如下:
char *strstr(const char *haystack, const char *needle);
其中,haystack表示要查找的字符串,needle表示要查找的子字符串。如果找到了子字符串,该函数将返回指向子字符串第一次出现的位置的指针;否则,返回NULL。
相关问题
php中的stristr()
在 PHP 中,`stristr()` 也是一个字符串函数,用于在一个字符串中查找另一个字符串,不区分大小写。它的语法与 C 语言中的函数 `stristr()` 相同,如下:
```php
string stristr(string $haystack, mixed $needle[, bool $before_needle = false])
```
其中,`$haystack` 是要被查找的字符串,`$needle` 是要查找的字符串,可以是一个字符串或数组。`$before_needle` 是一个可选的布尔值,表示是否返回 `$needle` 之前的部分,默认为 `false`。
如果找到了 `$needle`,则返回 `$haystack` 中 `$needle` 第一次出现的位置到字符串结尾的部分,不区分大小写。如果没有找到,则返回 `false`。如果 `$before_needle` 为 `true`,则返回 `$needle` 之前的部分。
例如,如果要在字符串 "Hello, World!" 中查找 "world",可以这样使用 `stristr()` 函数:
```php
echo stristr("Hello, World!", "world");
```
这将输出 "World!"。由于 `stristr()` 不区分大小写,因此不区分 "world" 和 "World"。
用C语言编写从一个字符串中查找另一个字符串的代码,不区分大小写
以下是一个简单的C语言代码,用于从一个字符串中查找另一个字符串,不区分大小写:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
char *stristr(const char *str1, const char *str2) {
const char *p1 = str1, *p2 = str2;
const char *start = str1;
while (*start) {
p1 = start;
p2 = str2;
while (*p1 && *p2 && tolower(*p1) == tolower(*p2)) {
p1++;
p2++;
}
if (!*p2) {
return (char *)start;
}
start++;
}
return NULL;
}
int main() {
char str1[100], str2[100];
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
char *result = stristr(str1, str2);
if (result) {
printf("第二个字符串在第一个字符串中出现了,位置在:%d\n", result - str1);
} else {
printf("第二个字符串在第一个字符串中未出现!\n");
}
return 0;
}
```
这个代码使用了一个自定义的函数`stristr`,它的作用是在一个字符串中查找另一个字符串,不区分大小写。在主函数中,我们通过调用`stristr`函数来查找第二个字符串是否在第一个字符串中出现,如果出现了,我们会输出它的位置。