Я совсем застрял в этом пункте. В конечном счете, я хочу отправить sentence
на номер replaceSubstring
, а затем вернуть то же предложение с заменой на «тот». Я знаю, что должен использовать указатели, но я не уверен, где и почему именно. Любой совет?Попытка заменить слово в cstring
Ошибки я получаю являются:
Ch12_08.cpp: In function ‘char replaceSubstring(char*, char*, char*)’:
Ch12_08.cpp:16: error: request for member ‘strstr’ in ‘sent’, which is of non-class type ‘char*’
Ch12_08.cpp:17: error: invalid conversion from ‘char*’ to ‘char’
Ch12_08.cpp:18: error: invalid conversion from ‘char*’ to ‘char’
Ch12_08.cpp: In function ‘int main()’:
Ch12_08.cpp:30: error: expected primary-expression before ‘]’ token
Вот код, я работаю с ..
#include <iostream>
#include <cstring> // Needed for strstr to work
using namespace std;
char replaceSubstring(char sent[], char oldW[], char newW[]){
char *strPtr = NULL;
strPtr = &sent.strstr(sent, oldW);
*strPtr = newW;
return sent;
}
int main()
{
char sentence[35] = "the dog jumped over the fence";
char oldWord[5] = "the";
char newWord[6] = "that";
char newSentence[35] = {NULL};
wcout << "The original sentence is: " << sentence << endl;
newSentence[] = replaceSubstring(sentence, oldWord, newWord);
return 0;
}
Заранее спасибо!
Спасибо за ответ. Это для класса. Интересно, почему, хотя .. Я не против дополнительного понимания, хотя. Это просто кажется почти нелогичным для остальных вещей, которые мы изучали. –
Кстати, вы должны заменить _all_ экземпляры 'oldW'' newW' или только первым? Ответ на этот вопрос меняет работу, которую вам нужно сделать. –