Heim > Backend-Entwicklung > C++ > Hauptteil

Wie analysiert man Ganzzahlen aus einer Textdatei in C mit ifstream?

Mary-Kate Olsen
Freigeben: 2024-10-29 13:18:29
Original
273 Leute haben es durchsucht

How to Parse Integers from a Text File in C   with ifstream?

Ganzzahlen aus einer Textdatei in C mit ifstream analysieren

Im Bereich der Programmierung ist die Arbeit mit Dateien eine häufige Notwendigkeit. Eine dieser Aufgaben besteht darin, Ganzzahlen aus einer Textdatei für die Datenanalyse oder die Diagrammerstellung zu lesen. Wenn wir jedoch mit einer Textdatei konfrontiert werden, die eine unbekannte Anzahl von Zeilen enthält, von denen jede aus einer unterschiedlichen Anzahl von Ganzzahlen besteht, wird das Parsen zu einer Herausforderung.

Um dieses Problem zu lösen, können wir die bewährte ifstream-Klasse und std verwenden: :getline()-Funktion zum Lesen von Zeilen aus der Textdatei. Allerdings stellt das Zeilenparsen eine neue Hürde dar. Um dies zu überwinden, beschäftigen wir uns mit zwei effektiven Ansätzen:

Verwendung von StringStream und While-Schleife:

Diese Methode verwendet den istringstream-Konstruktor, um eine Zeile zu analysieren. Es liest Ganzzahlen innerhalb einer While-Schleife und hängt sie an einen Vektor an, bis ein Zeilenumbruch auftritt:

<code class="cpp">while (std::getline(infile, line))
{
  std::istringstream iss(line);
  int n;
  std::vector<int> v;

  while (iss >> n)
  {
    v.push_back(n);
  }

  // Utilize the parsed integer vector 'v' for your desired purpose
}</code>
Nach dem Login kopieren

Einzeilige Lösung mit std::move:

For Für einen schlankeren Ansatz können wir eine Kombination aus std::move() und einer for-Schleife verwenden:

<code class="cpp">for (std::string line;
     std::getline(std::cin, line);
     vv.push_back(std::vector<int>(std::istream_iterator<int>(std::stay(std::istringstream(line))),
                                 std::istream_iterator<int>()))
    ) { }</code>
Nach dem Login kopieren

Diese Lösung nutzt die Funktion std::stay(), um den Besitz des Eingabestreams zu behalten. Ermöglicht die Verwendung innerhalb der for-Schleife. Es iteriert über die Zeilen und verwendet std::istream_iterator, um Ganzzahlen in Vektor> zu analysieren.

Das obige ist der detaillierte Inhalt vonWie analysiert man Ganzzahlen aus einer Textdatei in C mit ifstream?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!