Was ich erreichen möchte, ist das Einlesen von Daten aus einer .txt
Datei Zeile für Zeile unter Verwendung von getline()
und Speichern als Zeichenfolge in der Variablen inVal
. Ich möchte dann jede einzelne Zahl, die sich in der Zeichenfolge befindet, in einem einzelnen Element im Objektarray speichern, indem Sie sie an die Elementfunktion ArrayBag.add(value)
übergeben. Bisher konnte ich Daten in inVal
lesen, aber nichts, was ich versucht habe, war in der Lage, die Zahlen in der Zeichenfolge zu konvertieren und zu speichern, einschließlich des Codes unten nach getline()
. Bitte irgendwelche Anleitung oder Tipps würden sehr geschätzt werden.So speichern Sie Ints in einer Zeichenfolge zu Elementen im Array
die .txt
Datei sieht wie folgt aus:
3 4 5 7 5 16 7 12 11 12 3 9 9 8 1 12
15 4 3 6 1 12 3 12 7 8 19 9 11 12 8 5 -4 -100
Mein Code, der bisher geschrieben ive ist wie folgt:
void readInv(ArrayBag &ArrayBag1, ArrayBag &ArrayBag2) {
//ArrayBag1 and ArrayBag2 are objects of class ArrayBag
std::string inVal;
//value to hold each line in file
std::ifstream readFile;
readFile.open("setInventory.txt"); //"setInventory.txt" is the txt file being read from.
if (readFile.is_open()) {
std::cout << "File is being read." << std::endl;
while(!readFile.eof()) {
getline(readFile, inVal);
for(int i = 0; i < inVal.size(); i++) {
std::cout << inVal[i] << std::endl;
ArrayBag1.add(inVal[i] - '0');
//ArrayBag1.add() is the public member function used to add the
//passing value to the private member array.
}
}
}
}
verwenden können Thema (wird aber einen Fehler beheben, der bald kommt): [Warum ist iostream :: eof in einem Loop-Zustand? auf falsch betrachtet?] (https://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop-condition-conspired-wrong) – user4581301
Mögliches Duplikat von [Zeile zeilenweise lesen] (https: //stackoverflow.com/questions/7868936/read-file-line-by-line). Konkrete Antwort 1 Option 2. – user4581301
Gibt es einen Grund, warum Sie 'std :: vector' nicht dafür verwenden können? Vektoren sind viel besser als Arrays. – Sailanarmo