c语言在一个字符串中 检查是不是包含另外一个字符串 找到这个字符串所在位置 截去往后的数据直到遇到“;”
时间: 2024-03-18 17:41:03 浏览: 118
可以使用 C 标准库中的 `strstr` 函数在一个字符串中查找是否包含另外一个字符串,并返回该字符串的位置。然后可以使用 `strchr` 函数在该位置开始查找第一个出现的 `';'` 字符,并截去该位置之后的数据。具体实现如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "hello world; this is a test string;";
char str2[] = "test";
char *pos = strstr(str1, str2); // 在 str1 中查找 str2
if (pos != NULL) { // 如果找到了
char *end = strchr(pos, ';'); // 在 pos 位置开始查找 ';'
if (end != NULL) { // 如果找到了
*end = '\0'; // 将 ';' 替换成 '\0',截去之后的数据
printf("Found %s at position %ld\n", str2, pos - str1);
printf("Result string: %s\n", str1);
}
}
return 0;
}
```
输出结果为:
```
Found test at position 22
Result string: hello world; this is a
```
需要注意的是,`strstr` 和 `strchr` 函数都是区分大小写的。如果要进行不区分大小写的查找,可以使用类似于 `stricmp` 和 `strcasestr` 的函数。
阅读全文