Heim >Backend-Entwicklung >C++ >Wie lese ich Ganzzahlen aus einer Textdatei mit Zeilen variabler Länge in C?

Wie lese ich Ganzzahlen aus einer Textdatei mit Zeilen variabler Länge in C?

DDD
DDDOriginal
2024-10-29 16:30:02753Durchsuche

How to Read Integers from a Text File with Variable-Length Lines in C  ?

Ganzzahlen aus einer Textdatei mit C ifstream lesen

Beim Umgang mit Textdateien, die Zeilen mit Ganzzahlen variabler Länge enthalten, ist die Standardzeilenlesung Die Redewendung erweist sich als nützlich:

<code class="cpp">#include <fstream>
#include <sstream>
#include <string>
#include <vector>

std::ifstream infile("thefile.txt");
std::string line;

while (std::getline(infile, line)) {
  std::istringstream iss(line);
  int n;
  std::vector<int> v;

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

  // do something useful with v
}</code>

Dieser Ansatz verwendet getline, um jede Zeile zu lesen, und istringstream, um die Ganzzahlen innerhalb jeder Zeile zu analysieren.

Alternativ verwendet eine prägnantere einzeilige Lösung eine for-Schleife und die Stay-Hilfsvorlage:

<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>

Beide Ansätze analysieren effektiv die Ganzzahlsequenzen variabler Länge aus der Eingabetextdatei.

Das obige ist der detaillierte Inhalt vonWie lese ich Ganzzahlen aus einer Textdatei mit Zeilen variabler Länge in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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