c语言有哪个函数可以读取字符串出现的次数
时间: 2024-06-10 22:04:17 浏览: 7
c语言中可以使用strstr函数查找字符串中子串出现的次数。例如,使用以下代码可以统计字符串s中子串sub出现的次数:
```c
int count = 0;
char *pos = s;
while ((pos = strstr(pos, sub)) != NULL) {
count++;
pos++;
}
printf("子串 %s 在字符串 %s 中共出现 %d 次。\n", sub, s, count);
```
注意,该函数比较的是字符串的内容,而不是指针地址。因此,如果s和sub指向的字符串不同,而是只是内容相同,则也可以使用该函数统计子串出现的次数。
相关问题
用C语言,编写函数,删除字符串中的给定字符
下面是一个示例C语言函数,可以删除字符串中的给定字符:
```c
#include <stdio.h>
#include <string.h>
void delete_char(char *str, char ch) {
int i, j;
for (i = j = 0; str[i] != '\0'; i++) {
if (str[i] != ch) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100], ch;
printf("Enter a string: ");
fgets(str, sizeof(str), stdin);
printf("Enter the character to delete: ");
scanf("%c", &ch);
delete_char(str, ch);
printf("Result: %s\n", str);
return 0;
}
```
这个函数接受两个参数:一个字符串和一个字符。它遍历字符串中的每个字符,如果字符不等于给定字符,则将其添加到新字符串中。最后,新字符串以空字符结尾,并替换原始字符串。
在主函数中,我们使用fgets函数读取输入字符串,然后使用scanf函数读取要删除的字符。最后,我们调用delete_char函数并打印结果。
C语言怎么用gets函数输入字符串?
在C语言中,可以使用`gets`函数输入字符串。`gets`函数的函数原型如下:
```c
char *gets(char *s);
```
`gets`函数用于从标准输入设备(通常是键盘)读取字符串,读取到的字符串保存在`s`所指向的字符数组中,并自动在末尾添加一个`\0`作为字符串的结束符。需要注意的是,`gets`函数存在缓冲区溢出的安全问题,应该尽量避免使用。
下面是一个使用`gets`函数输入字符串的示例代码:
```c
#include <stdio.h>
int main()
{
char str[100];
printf("请输入字符串:");
gets(str);
printf("输入的字符串是:%s\n", str);
return 0;
}
```
在上面的代码中,用户输入的字符串将保存在`str`字符数组中,并通过`printf`函数输出。需要注意的是,在实际开发中,应该使用更为安全的输入方式,如`fgets`函数等。