char数组判断是否包含字符串http
时间: 2023-11-13 10:02:32 浏览: 37
可以使用C++的字符串类string来实现,具体代码如下:
```c++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "http://www.example.com";
if (str.find("http") != string::npos)
cout << "包含字符串http" << endl;
else
cout << "不包含字符串http" << endl;
return 0;
}
```
输出结果为:包含字符串http
相关问题
C语言 怎么判断字符串数组是否有字符串
可以通过判断字符串数组中第一个元素是否为'\0'来判断该数组是否为空,如果不为空,则至少有一个字符串。示例代码如下:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[10][20]; // 定义一个字符串数组,最多存放10个字符串,每个字符串最多包含19个字符(最后一个字符为'\0')
int len, i;
strcpy(str[0], "hello");
strcpy(str[1], "world");
strcpy(str[2], ""); // 空字符串
strcpy(str[3], "test");
len = strlen(str[0]); // 获取第一个字符串长度
printf("第一个字符串长度为:%d\n", len);
if (str[2][0] == '\0') // 判断第三个字符串是否为空
{
printf("第三个字符串为空\n");
}
for (i = 0; i < 10; i++)
{
if (str[i][0] != '\0') // 判断该字符串是否为空
{
printf("第%d个字符串为:%s\n", i+1, str[i]);
}
else
{
break; // 如果该字符串为空,则后面的字符串都为空,直接跳出循环
}
}
return 0;
}
```
输出结果为:
```
第一个字符串长度为:5
第三个字符串为空
第1个字符串为:hello
第2个字符串为:world
第3个字符串为空
```
p字符串是另一种字符串实现形式。它也采用char数组来保存字符串中的字符,但是最后
它会加上一个特殊的结束标记'\'0',来表示字符串的结束。这意味着在使用p字符串时,我们不需要知道字符串的长度,只需根据结束标记进行循环判断即可。
相比于一般的字符串实现形式,p字符串的优点是在保存字符串时,只需要额外的一个字符来表示结束,这样在内存空间的利用上更加高效。而一般的字符串实现形式需要额外的一个变量来保存字符串的长度,需要更多的内存空间。
然而,p字符串也有一些局限性。首先,它无法保存包含'\'0'字符的字符串,因为这会被误认为是字符串的结束标记。其次,在使用p字符串时,我们需要保证字符串的结束标记'\'0'一定存在,否则会导致出现异常情况。
总结来说,p字符串是一种以字符数组保存字符串的形式,通过添加特殊的结束标记'\'0'来表示字符串的结束。它相对于一般的字符串实现形式在内存空间的利用上更加高效,但需要遵守特殊的规则并注意异常情况的处理。