0

これが起こる理由はありますか?まったく同じファイルを 2 つの異なる名前で保存しています。1 つは test.csv で、もう 1 つは text.txt です。内容は同一です。ifstream オブジェクトを使用して text.txt を開くと、コードが期待どおりに実行され、データがオブジェクトに解析されます。test.csv を開くと、ifstream オブジェクトによってデータが収集されず、コードが誤動作します。.txt ではなく .csv を開くときに実行する必要がある追加の手順はありますか?

実際に入力を行うコードは次のとおりです。

    Team::Team(ifstream& fin)
    {
string temp;
stringstream convert;

//Get team #
getline(fin, temp, ',');
idNumber = stringToInt(temp);

//Get team letter
getline(fin, temp, ',');
idLetter = temp[0];

//Get team name
getline(fin, name, ',');

//Get team type
getline(fin, type, ',');

//Get team rating
getline(fin, temp, ',');
rating = stringToDouble(temp);

//Get team notes
getline(fin, notes, ',');

//Get toss info
getline(fin, temp, ',');
canToss = stringToBool(temp);
getline(fin, tossType, ',');

//Get female info
getline(fin, temp, ',');
hasFemales = stringToBool(temp);
getline(fin, temp, ',');
femaleNumber = stringToInt(temp);
getline(fin, temp, ',');
femaleRating = stringToDouble(temp);

//Get Auto info
getline(fin, temp, ',');
hasAuto = stringToBool(temp);
getline(fin, autoType, ',');
getline(fin, temp, ',');
autoScore = stringToInt(temp);

//Get Drive Info
getline(fin, temp, ',');
driveMotors = stringToInt(temp);
getline(fin, temp, ',');
driveRatio = stringToDouble(temp);
getline(fin, driveType, ',');

//Get hang info
getline(fin, temp, ',');
canHang = stringToBool(temp);
getline(fin, hangType, ',');

//Get stash info
getline(fin, temp, ',');
canStash = stringToBool(temp);

//Get lift indo
getline(fin, temp, ',');
liftMotors = stringToInt(temp);
getline(fin, temp, ',');
liftRatio = stringToDouble(temp);
getline(fin, liftType, ',');

//Get competition info
getline(fin, temp, ',');
driverSkills = stringToInt(temp);
getline(fin, temp, ',');
programmingSkills = stringToInt(temp);
getline(fin, temp, ',');
ranking = stringToInt(temp);
getline(fin, temp, ',');
wins = stringToInt(temp);
getline(fin, temp, ',');
ties = stringToInt(temp);
getline(fin, temp, ',');
losses = stringToInt(temp);
getline(fin, temp);
SPs = stringToInt(temp);
    }
4

1 に答える 1