Ich habe eine Frage, nachdem ich auf eine Datei loop und mehrere Buchstaben mit einem Zähler extrahieren, um zu wissen, wie viele Zeichen extrahiert worden sind, wie kann ich meinen Zeiger neu positionieren, um zurück zu zeigen der erste wurde extrahiert. Hier ist, was ich bisher versucht:Rückkehr zu einer bestimmten Stelle in einer Datei nach der Extraktion von Zeichen
int get_length(ifstream &inp,int &length){
int columns=0;
inp>>columns;
length++;
while(columns!=0)
{
inp>>columns;
length++;
}
if (!inp.good())
inp.clear();
inp.seekg(-length,std::ios::cur);
return length;
}
Aus irgendeinem Grund ist es nicht wieder die gleiche Länge gehen, es wird es falsch nach dem anderen, habe ich versucht, durch eine auf Länge Hinzufügen dann diese Funktion zu schreiben versuchen, ich don Ich weiß nicht, was hier falsch ist. Ich frage, ob ich die Suchfunktion falsch benutze.
Der Code erhöht "Länge" eine zusätzliche Zeit. Wenn der Wert, der in 'columns' eingelesen wird, null ist, sollte er ** nicht' länge' erhöhen. –
Erhöht die 'length' die Anzahl der übersprungenen Leerzeichen? – Galik
Lesen Sie über 'std :: basic_istream :: tellg()'. –