Genaues Zeichen einer TXT-Datei auslesen und in einer Variable speichern



  • Hallo,
    ich hab mal eine Frage bezüglich Eines Auslesens einer TXT-Datei.
    Wie kann ich auf ein bestimmtes Zeichen zugreifen, welches in Zeile x und Spalte y ist? Ich denk mir schon, dass das irgendwas mit Iteration zu tun hat und später eine Konvertierung in String oder Int. Trotzdem finde ich nichts brauchbares hier iM Forum was mir dabei hilft.

    Danke



  • Wenn jede Zeile gleich (bekannt) lang ist, kannst Du berechnen, das wievielte Zeichen in der Datei Du willst und den Dateizeiger darauf positionieren, bevor Du ein einziges (das gewünschte) Zeichen einliest.
    Anderenfalls musst Du die erforderliche Anzahl von Zeilen überlesen und dann entweder noch die entsprechende Anzahl von Zeichen in der Zielzeile überlesen oder aber den Dateizeiger um die entsprechende Anzahl erhöhen, dann das Zeichen einlesen.



  • #include <iostream>
    #include <vector>
    #include <string>
    #include <fstream>
    
    auto readFile(std::string const& filename)
    {
    	auto vec = std::vector<std::string>();
    
    	std::ifstream ifs(filename.c_str());
    
    	std::string tmp;
    	while ( std::getline(ifs, tmp) )
    		vec.push_back(tmp);
    
    	return vec;
    }
    
    int main()
    {
    	std::string filename = "xXx.txt";
    	auto strVec = readFile(filename);
    
    	std::size_t x = 15;
    	std::size_t y = 2;
    
    	std::cout << "Char at (" << x << "|" << y << "): " << strVec[y][x] << std::endl;
    
    	return 0x0;
    }
    

    Sowas hier?
    (ungetestet und unoptimiert)


Anmelden zum Antworten