与えられたファイルのすべての行を読み込もうとしています。
何らかの理由でstd::getline
が期待どおりに動作しません。
main.cppに:ファイルから読み込むことができない、奇妙な動作
#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]
あなたが見ることができるように、私はそれが変数i
で、ループに入るうかという時間を知りたいと思いました。出力は:
solid,Tree,4,4,[20 20]
1
どうしてですか?
デスクトップに複製することはできません。 –
私の友人の一人が実際に 'std :: getline'でこのような振る舞いをしていました。彼のコードも完全にうまくいきましたが、古いバージョンのIDEのために誤ってコンパイルされました。あなたは、OPについては分かりませんが、万一、Code :: Blocksで作業していてオリジナルの開発者以外のソースからダウンロードした場合は、再ダウンロードして再インストールしてください。 – Fureeish
複製できません。 'std :: string filePath =" ../ init.txt ";'に問題がありますか?たぶんあなたは別の 'init.txt'ディレクトリレベルを読み込んでいますか? – j4nu5