Я попытался написать функцию lastindexOf для моего класса C++. После того, как я пробовал в течение 2 недель, я все еще не могу заставить его работать. Сначала я пытался следовать логике этого сообщения: CString find the last entry, но так как они используют класс CString вместо класса char, мне не удастся дублировать код для класса char. Я также пытаюсь использовать strstr, но мне тоже не повезло. Буду признателен за любую помощь.
вот код, который я придумал до сих пор:последний индекс строки стиля C в C++
#include
using namespace std;
int lastIndexOf(char *s, char target);
int main()
{
char input[50];
cin.getline(input, 50);
char h = h;
lastIndexOf(input, h);
return 0;
}
int lastIndexOf(char *s, char target)
{
int result = -1;
while (*s != '\0')
{
if (*s == target){
return *s;
}}
return result;
}
Вы ищете 'strchr()'. И ваша ошибка, кстати, заключается в том, что вы не увеличиваете счетчик циклов цикла while, так что он будет бесконечным. –
Для lastIndexOf(), strrchr(), вероятно, будет лучше. –