c - 检查一个字符串是否在另一个没有 C 中指针的字符串中
问题描述
我刚刚开始 c 编程,任务是编写一个程序来在另一个字符串中查找一个字符串,如果找到目标字符串,则打印“是”,如果不是,则打印“否”。我已经编写了一个函数来完成上述任务,但它并不完全有效。如果有人能告诉我我的代码有什么问题,我将不胜感激。
void substring (char source[], char target[]){
int i = 0;
int j = 0;
int counter = 0;
int a = strlen(target);
int b = strlen(source);
while (source[i] != 0){
while (target[j] != 0){
if (target[j] == source[i])
for (int k = 1; k < a; k++){
if (target[j + k] == source[i + k])
counter += 1;
}
j++;
}
i++;
}
if (counter == a)
printf("Yes\n");
else
printf("No\n");
}
解决方案
在 C 中调用了一个函数strstr
,它完全可以完成您的工作。
在这里通过它。
示例代码
#include <stdio.h>
#include <string.h>
int main()
{
char source[] = "This is a simple string";
char Target[] = "simple";
char *firstOccurrenceOfTarget = strstr(source, Target);
if (firstOccurrenceOfTarget == NULL)
{
printf("No\n");
}
else
{
printf("Yes\n");
}
return 0;
}
推荐阅读
- javascript - 通过href从其他页面遍历时调用javascript保留过滤器状态
- python - 如何在使用 PIL 保存 png 时保留 RGB 颜色?
- c# - Sql server 未在 Visual Studio 中加载
- react-native - 反应导航标题总是显示
- javascript - 如何在不刷新页面的情况下查看更新列表
- javascript - 无法使用 webpack DefinePlugin 从 React 应用程序中的 dockerfile 访问环境变量
- spring-boot - 从 credhub 加载属性并在 PCF 清单中使用
- gitlab - 如何克隆到 gitlab-runner 用户的主目录?
- python-3.x - 有效地计算数组最后一维的点积
- javascript - 如何从 JSON 对象中获取值