Тема: Операції зі строками
Є вектор строк і після введення в нього слів, з першого слова перші три букви записуються в першу строку додаткового вектору і після цього усі наступні слова(точніше їхні перші 3 букви) порівнюються з трьома буквами з першої строки додаткового вектору.
#include <iostream.h>
#include <cstring>
#include <windows.h>
#include <vector.h>
using namespace std;
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
vector <string> words;
vector <string> letters;
string buff;
cout<<"Введіть слова, для закінчення вводу натисніть два рази Enter"<<endl;
do
{
getline(cin, buff);
if (buff.size() > 0)
words.push_back(buff);
} while (buff != "");
words[0].copy(letters[0],0,3);
for(int i=1;i<words.size();i++)
{
if(words[i].compare(letters[0],0,3))
cout<<words[i]<<endl;
}
cin.ignore();
cin.get();
return 0;
}
В строці 23, де має бути копіювання вибиває таку помилку:
no matching function for call to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::copy(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int, int)'
Аналогічно в строці, там де відбувається порівняння.