C ++读取txt文件和cout值不读取整个文件

时间:2014-09-19 00:39:49

标签: c++ fstream

我试图在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}}

0 个答案:

没有答案