Im은 언어 연습을위한 프로그램을 작성하지만, 나에게 맞는 코드에서 꽤 이상한 출력을 얻습니다.std :: fstream 파일 끝에 읽기가 끝나면 쓰레기를 인쇄합니다.
코드 :
#include <iostream>
#include <fstream>
#include <list>
struct Car
{
std::string make;
std::string model;
int partNo;
double price;
int quantity;
std::string partname;
};
void AddItem();
void _Update(int PartNo, int quantity);
void UpdateList(std::list<Car>& _Car);
int main()
{
std::list<Car> _Car;
UpdateList(_Car);
for(std::list<Car>::iterator iter = _Car.begin(); iter != _Car.end(); iter++)
{
std::cout << iter->make << " " << iter->model << " " << iter->partNo << " " << iter->price << " " << iter->quantity << " " << iter->partname << std::endl;
}
}
void UpdateList(std::list<Car>& _Car)
{
std::ifstream File("CarParts.txt");
if(!File.is_open())
std::cerr << "Bad file input....... closing....";
while(!File.eof())
{
Car tempObj;
File >> tempObj.make >> tempObj.model >> tempObj.partNo >> tempObj.price >> tempObj.quantity;
getline(File,tempObj.partname);
_Car.push_back(tempObj);
}
File.close();
}
전초 기지 주어진 :
Pajero NA1H25 1 3.65 11 BLADE W/S WIPER Honda_Sivic R34gFk 2 4.97 15
ENGINE CHANGE 2 4.97 15
메모장 파일 :
Pajero NA1H25 1 3.65 11 BLADE W/S WIPER
HondaSivic R34gFk 2 4.97 15 ENGINE CHANGE
내가 실제로 인쇄 원했던 두 줄 아래에있는 세 개의 숫자입니까? 정말 혼란 스럽네요. 도와 줘서 고마워!
게시 한 코드를 컴파일하고 실행하여 정상적으로 작동했습니다. –
Jesse Good과 동일 ... 출력은 메모장 파일과 동일합니다. – AquilaRapax