C ++流文件仅显示while循环后的最后一行
c++ ofstream file only displaying last line after while loop
我在几个编码作业中遇到了很多麻烦,希望有人能引导我朝着正确的方向前进。如果这个问题发布在其他地方,我提前道歉。我真的不知道如何表达这个问题以找到类似的东西。问题是我正在尝试通过几个布尔函数从.txt文件中运行一些数字,这些函数会将结果输出到另一个.txt文件。我遇到的问题是它只是输出到输出文件的最后一行。我试着问我的教授,他无法和我一起弄清楚(这让我很沮丧)。
这是我的代码,我上传了一个图像来显示创建的文本文件。
if (!inFile) {
cout << "error opening filen";
}
else
{
while (inFile) {
(inFile >> hour >> min);
(cout << hour << ":" << min << endl);
bool validate_hour(hour);
bool validate_minute(min);
inFile.ignore(1);
}
outFile.open("time_Validation.txt", ios::out | ios::app);
if (validate_hour(hour) == true && validate_minute(min) == true) {
outFile << hour << ":" << min << " hour is valid and minute is validn";
}
else if (validate_hour(hour) == false && validate_minute(min) == true) {
outFile << hour << ":" << min << " hour is invalid and minute is validn";
}
else if (validate_hour(hour) == true && validate_minute(min) == false)
{
outFile << hour << ":" << min << " hour is valid and minute is invalidn";
}
else if (validate_hour(hour) == false && validate_minute(min) == false)
{
outFile << hour << ":" << min << " hour is invalid and minute is invalidn";
}
outFile.close();
这就是我得到的。time_validation.txt文件中显示的每一对数字都应该有一行。
感谢您为我完成本实验提供的任何帮助。谢谢你的关注。
谢谢大家的投入。我按照建议更改了while(inFile) to while (inFile >> hour >> min)
。显然,我需要对while循环进行更多练习。再次感谢所有给我建议的人,这对我的代码的完成真的很有帮助。
outfile.open("time_validation.txt",ios::out | ios::app);
while(!infile)
cout << "file does not exist" << endl;
while(infile)
{
infile >> hour >> min;
if(validate_hour(hour))
outfile << hour << " hour is valid ";
else
outfile << hour << " hour is invalid ";
if(validate_minute(minute))
outfile << minute << " minute is valid n";
else
outfile << minute << " minute is invalid n";
}
这样的东西应该可以工作,因为您还没有发布完整的代码,我无法判断程序在文件中写入了多少次,据我所知,您在验证所有输入后只向文件提供一次输出,而您应该为每个输入循环提供输出到文件。
相关文章:
- 读取文件的最后一行并输入到链接列表时出错
- 读取最后一行代码算法 - c++ 时出现问题
- 这段代码的最后一行在做什么?
- 我没有得到产量最低的产品.我该如何纠正它?最后一行是最低销售产品的输出.谢谢
- 如何只阅读最后一行的开头?
- Ofstream一直给我函数的最后一行,而不是显示所有内容
- Codelite构建仅呈现最后一行的输出
- 以下递归程序的最后一行是如何工作的
- 如何在应用程序进行大量printf时,在固定输入的终端中设置最后一行
- 如何有效地读取C 中的最后一行文件
- 标准输入未读取最后一行
- 特征:将每一行除以最后一行
- cout 用于仅打印最后一行的 2D 字符串矢量
- 如何确定输入文件中的一行是否是最后一行?C++
- 多功能阵列最后一行相同的结果
- 为什么输入文件的最后一行运行两次?
- Fscanf 未从文件的最后一行 (C/C++) 读取预期值
- C++ - 将数字表从文件读取到 2D 数组中(仅存储最后一行)
- 将最后一行 cout 发送到窗口
- 最后一行欧普特两个组合输出问题?如果其他语句