我试图在txt file
中读取某些值,如此
val1 val2 val3
val1 val2 val3
val1 val2 val3
然后我在编译程序时尝试cout
到终端。
我遇到的问题是文本文件的第一行被读取并打印正常然后我得到随机0 0
值,然后没有其他....
我不知道从哪里开始甚至排除故障,因为我没有任何错误。
我将补充说,在cout
中编译时,程序不会Xcode
,但是当从终端运行时,它会显示我所解释的行。
我在想这可能是for loop
vector
cout
struct Input{
std::string group;
float total_pay;
unsigned int quantity;
Input(std::string const& groupIn, float const& total_payIn, unsigned int const& quantityIn):
group(groupIn),
total_pay(total_payIn),
quantity(quantityIn)
{}
};
int main(){
std::ifstream infile("input.txt");
std::vector<Input> data;
std::string group;
std::string total_pay;
std::string quantity;
std::getline(infile,group);
std::getline(infile,total_pay);
std::getline(infile,quantity);
while (infile){
data.push_back(Input(group,atof(total_pay.c_str()),atoi(quantity.c_str())));
std::getline(infile,group);
std::getline(infile,total_pay);
std::getline(infile,quantity);
}
//output
for(Input values : data){
std::cout << values.group << " " << values.total_pay << " " << values.quantity << '\n';
}
return 0;
}
的原因?
{{1}}