Ich versuche, alle Zeilen einer bestimmten Datei zu lesen.
Aus irgendeinem Grund funktioniert std::getline
nicht wie erwartet.
main.cpp:Kann nicht aus einer Datei lesen, seltsames Verhalten
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::string filePath = "../init.txt";
std::ifstream inputFile(filePath);
std::string str;
int i = 0;
while (std::getline(inputFile,str)) {
std::cout << str << std::endl;
i++;
}
std::cout << i << std::endl;
inputFile.close();
return 0;
}
../init.txt:
Game
battlefieldSize,100,200
players,2
soldiers,3
p1,human
normal,[2 3],M16
paramedic,[10 31]
sniper,[5 12],UZI
p2,computer,0
normal,[90 112],Missile
sniper,[90 113],M16
normal,[65 100],M16
Objects
weapon,M16,[5 5]
Armor,BodyArmor,0.8,[1 2]
weapon,Missile,[15 115]
solid,Tree,4,4,[20 20]
Wie Sie sehen können, wollte ich, wie viel mal wissen, dass es die Schleife ist Eingabe mit variabler i
. Die Ausgabe ist:
solid,Tree,4,4,[20 20]
1
Warum passiert das?
Kann nicht auf meinem Desktop duplizieren. –
Einer meiner Freunde hatte diese Art von Verhalten mit 'std :: getline'. Sein Code war auch völlig in Ordnung, aber aufgrund der älteren Version von IDE kompiliert er falsch. Ich weiß nicht, wie es Ihnen geht, OP, aber wenn Sie Code Code Blocks blockieren und es von einer anderen Quelle als dem Original-Entwickler heruntergeladen haben, laden Sie es bitte erneut herunter und installieren Sie es neu – Fureeish
Kann nicht duplizieren. Gibt es ein Problem mit 'std :: string filePath =" ../ init.txt ";'? Vielleicht liest du noch eine andere "init.txt" -Verzeichnisstufe? – j4nu5