Ce qui cloche :
Un tableau dont la taille n'est pas connue à la compilation ne se déclare pas comme ceci, il faut utiliser new ou std::vector.
vector<string>::iterator res = std::find(lines.begin(), lines.end(), wanted[index2]);
Tu n'as pas rempli lines. Et puis là, tu vas rechercher un ligne égale à ton mot dans la liste des lignes. Or toi tu veux chercher les lignes contenant ton mot.
La manière de fonctionner :
Il faut itérer ligne par ligne sur ton entrée, rechercher dans la ligne courante la présence du mot, et l'afficher ou non selon le résultat.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #include <iostream>
#include <string>
int main(int argc, char const * argv[])
{
// lecture des options...
// word est le mot à rechercher
std::string line;
while (std::getline(std::cin, line))
{
if (line.find(word) != std::string::npos)
{
std::cout << line << std::endl;
}
}
return 0;
} |
Partager