我希望我的函数与我在cstring
/string.h
库中使用的函数“strchr”一样工作。我知道我不能将“ const char* ”变量/数组转换为“ char* ”。然而,预定义的“strchr”函数如何能够同时传递“const char”和“char”数据类型数组并正常工作?我怎么能改变我的,让它也能工作?
char* my_strchr(char *place_to_find, char what_to_find)
{
for(int i=0;place_to_find[i];i++)
if(what_to_find==place_to_find[i]) return place_to_find+i;
return NULL;
}
...
int main()
{
const char vocals1[]="AEIOUaeiou";
char vocals2[]="AEIOUaeiou";
cout<<strchr(vocals1,'e');
cout<<strchr(vocals2,'e');
cout<<my_strchr(vocals1,'e');
cout<<my_strchr(vocals2,'e');
return 0;
}
正如您可能已经知道的那样,我的第三个cout<<
不起作用。我正在寻找一种方法来改变我的功能(我猜第一个参数应该以某种方式进行类型转换)。