Moro!
Kuinkas pystyy lukemaan txt-tiedostosta tiettyjä rivejä, esim rivit 2,3 ja 5?
Kielenä siis c++.
Täytyy ohittaa ylimääräiset rivit esim. ignore-metodilla (tai lukea ne turhaan muuttujaan).
#include <iostream>
#include <fstream>
#include <map>
#include <set>
#include <string>
#include <limits>
int main() {
std::set<int> luettavat {2, 3, 5};
std::map<int, std::string> rivit;
std::ifstream tiedosto("data.txt");
for (int i = 1; luettavat.size() && tiedosto; ++i) {
if (luettavat.count(i)) {
std::string tmp;
if (std::getline(tiedosto, tmp)) {
rivit[i] = tmp;
}
} else {
tiedosto.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
}
}
for (auto const& r: rivit) {
std::cout << r.first << ": " << r.second << std::endl;
}
}Aihe on jo aika vanha, joten et voi enää vastata siihen.