//Add words from the file to the vector
while (inputFile >> word) {
listWords.push_back(word);
wordCount +=1; //Count the words
}
for (int i = 0; i < listWords.size(); i++) {
char *p;
p = strchr(listWords.at(i), 'c');
if ( p != NULL ) {
cout << "null";
}
}
Приведенный здесь код добавляет довольно большой текстовый файл слов к тому, что я объявил в виде строки vector listWords
, Я хотел бы использовать strchr
и различные другие функции Cstring, чтобы избавиться от отдельных слов с определенными буквами и символами. Я сталкиваюсь с ошибкой, когда пытаюсь сделать это, говоря: «Нет соответствующего вызова функции для strchr
Я уже включил библиотеки <vector> <string> <cstring> <fstream>
, Я уверен, что моя ошибка лежит между указателями.
char *strchr(const char *str, int ch)
Любые советы, что я должен сделать здесь, чтобы заставить работать strchr?
Лучше
for (int i = 0; i < listWords.size(); i++) {
const auto p = listWords.at(i).find('c');
if ( p != std::string::npos ) {
cout << "null";
}
}
Хуже
for (int i = 0; i < listWords.size(); i++) {
const char *p = strchr(listWords.at(i).c_str(), 'c');
if ( p != NULL ) {
cout << "null";
}
}
Других решений пока нет …