Aus einem *.txt-Dokument ein Array machen
-
Ich habe folgendes Problem:
Ich möchte ein Textdokument mit den Zahlen 1-6 einlesen (Durch Zeilenumbruch getrennt) und dann überprüfen, ob wirklich nur die Zahlen 1-6 verwendet worden. Daraufhin möchte ich diese in einem Array speichern. Wie kann ich das realisieren?
MfG makaveli
-
Mit reinen C++ Standard-Mitteln:
Einlesen mittels std::getline() in einen std::vectorstd::stringMit VCL:
TStringList::LoadFromFile()siehe jeweilige FAQ-Beiträge
-
Die Datei in eine TStringList einlesen.
Die einzelnen Strings der StringListe mit einer Schleife durchlaufen.
Mit StrToIntDef jeden String einen Hilfs-Integer setzen.
Überprüfen ob die Zahlen im Gültigkeitsbereich sind.
-
Und wie funktioniert das ganze explizit für den C++ Builder?
-
TStringList *li=new TStringList(); li->LoadFromFile("zahlen.txt"); vector <int> zahlen; int zahl; for (unsigned i=0;i<li->Count;i++) { zahl=StrToIntDef(li->Strings[i],-1); if(zahl>0&&zahl<7) zahlen.push_back(zahl); } delete li;
-
Wesentlich effizienter wäre die Verwendung von CreateFile/ReadFile (WinAPI), fopen/fgetc (C-Standard-Library) oder TFileStream (VCL).