📅  最后修改于: 2023-12-03 14:59:50.969000             🧑  作者: Mango
strchr()
函数是C/C++字符串库中的一个非常有用的函数,其可以在一个字符串中查找指定字符的第一个匹配项,并返回该字符后面的所有内容。
strchr()
函数原型如下:
char *strchr(const char *str, int c);
其中,str
指针指向要在其中查找的字符串,c
是要搜索的字符。返回值是指向字符 c
的第一个匹配项的指针,如果找不到指定的字符,则返回 NULL
。
strchr()
函数可以用于以下情况:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str[] = "Hello, world!";
char *ptr;
ptr = strchr(str, 'o');
if (ptr != NULL)
{
cout << "字符 'o' 在字符串中的位置:" << ptr - str + 1 << endl;
}
else
{
cout << "在字符串中未找到字符 'o'" << endl;
}
return 0;
}
输出:
字符 'o' 在字符串中的位置:5
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str[] = "Hello, world!";
char *ptr;
ptr = strchr(str, ',');
if (ptr != NULL)
{
cout << "截取字符串:" << ptr + 2 << endl; // 注意要加上 2 个字符才是逗号后面的内容
}
else
{
cout << "在字符串中未找到 ','" << endl;
}
return 0;
}
输出:
截取字符串:world!
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str[] = "Hello, world!";
char *ptr;
ptr = strchr(str, ',');
if (ptr != NULL)
{
*ptr = '.';
cout << "替换后的字符串:" << str << endl;
}
else
{
cout << "在字符串中未找到 ','" << endl;
}
return 0;
}
输出:
替换后的字符串:Hello. world!
总的来说,strchr()
函数是一个非常实用的函数,它可以在一个字符串中查找指定字符的第一个匹配项,并返回该字符后面的所有内容。在实际编程中,我们可以灵活使用该函数来解决不同的问题。