strstr函数获取图片上的后缀
时间: 2024-04-23 19:18:59 浏览: 16
strstr函数是C语言中的字符串处理函数,用于在一个字符串中查找指定子字符串的第一次出现位置。它的函数原型如下:
```c
char *strstr(const char *haystack, const char *needle);
```
其中,`haystack`表示要搜索的字符串,`needle`表示要查找的子字符串。该函数会返回指向第一次出现的字符串的指针,如果没有找到,则返回NULL。
要获取图片名中的后缀,可以使用strstr函数来查找最后一个"."字符的位置,并通过指针操作获取后缀部分。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char filename[] = "image.jpg";
char *dot = strrchr(filename, '.'); // 查找最后一个"."字符的位置
if (dot) {
printf("后缀名:%s\n", dot + 1); // 输出后缀名部分
}
return 0;
}
```
上述代码中,我们使用了strrchr函数来查找最后一个"."字符的位置,并通过指针操作获取后缀名部分。最后,我们将后缀名打印出来。
相关问题
如何在MIPS上实现strstr函数
在 MIPS 上实现 strstr 函数需要使用指针来定位目标字符串和子字符串的位置,具体实现可以参考以下代码:
```
#include <stdio.h>
char *my_strstr(char *str1, char *str2) {
int len1, len2;
char *p1, *p2;
len1 = strlen(str1);
len2 = strlen(str2);
if (len1 < len2) return NULL;
for (p1 = str1; *p1; p1++) {
p2 = str2;
while (*p2 && (*p1 == *p2)) {
p1++;
p2++;
}
if (!*p2) return (p1 - len2);
p1 = p1 - (p2 - str2);
}
return NULL;
}
int main(void) {
char str1[] = "hello world";
char str2[] = "world";
printf("Result: %s\n", my_strstr(str1, str2));
return 0;
}
```
其功能是在 str1 中查找 str2,如果找到则返回 str2 在 str1 中的起始位置,否则返回 NULL。
strstr 函数介绍
strstr函数是C语言中的字符串处理函数,用于在一个字符串中查找指定子串的位置。它的函数原型如下:
```c
char *strstr(const char *haystack, const char *needle);
```
其中,`haystack`是要进行查找的字符串,`needle`是要查找的子串。函数返回值是一个指向第一次出现子串的位置的指针,如果未找到子串,则返回NULL。
该函数的实现原理是通过遍历字符串中的每个字符,逐个与子串进行比较。当找到子串的第一个字符匹配时,继续比较后续字符是否完全匹配。如果匹配成功,则返回子串在字符串中的位置;如果匹配失败,则继续遍历字符串的下一个字符,直到找到匹配或遍历完整个字符串。
需要注意的是,strstr函数是区分大小写的,即大写字母和小写字母被视为不同字符。如果需要进行不区分大小写的查找,可以使用其他函数或自行实现。