arrays - 如何使用C中的strstr()函数检查字符串中是否存在char
问题描述
这一定是一个关于 char 数据类型和指针的简单问题。
void main() {
const char* a;
char character = 65;
a = &character;
printf("%c \n", character); // PRINTS 'A' AS EXPECTED
if (strstr("ABC", a)) {
printf("found \n");
}
else {
printf("not found\n"); // goes into else
}
}
我不明白为什么它不进入第一个 if 语句。
解决方案
在调用 strstr 之前,您需要终止a
字符串以使其成为正确的 C 字符串:
以下任何一项:
if (strstr("ABC", "A"))
{
// found
}
或者
char a[2] = {'A', '\0'};
if (strstr("ABC", a))
{
// found
}
或者
const char* a = "A";
if (strstr("ABC", a))
{
// found
}
推荐阅读
- xcode - xcode 项目在没有 .xcodeproj 文件的情况下打开
- google-apps-script - 由于不同的 eventId 格式,无法为在 iOS 上创建的事件加载带有 getEventByID 的日历事件
- wso2 - 如何在 wso2 API 管理器中增加输入有效负载大小
- c++ - 只有在构造函数有参数时才能访问 c++ 公共成员
- r - shinydashboard:通过 textInput 过滤 DT
- php - SQL fetch 即将出现空白页
- delphi-7 - Delphi中的广播和接收
- three.js - Aframe - 获取文本的宽度和高度
零件 - javascript - 带有 Ng-If 的 Ng-Model 不起作用(非常基本的示例)
- c# - 以其他形式c#获取组合框的值