无法获取输出文件以从 infile 读取数据(c++)

Can't get outfile to read data from infile(c++)

本文关键字:数据 读取 c++ infile 获取 输出 文件      更新时间:2023-10-16

输入文件中的数据:

威尔逊·杰克 87236.45 11

我的代码:

#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
using namespace std;
int main()
{
     ofstream out;
     ifstream in;
string Lastname, Firstname;
double salary;
int increase;
in.open("Lab5_Ex_3_Input.txt");
out.open("Lab5_Ex_3_Output.txt");

in >> Lastname >> Firstname >> salary >> increase;
out << "Lastname: "<< Lastname << "Firstname " << Firstname << "salry :" << salary <<"increase: "<< increase <<endl;


in.close();
out.close();
return 0;
}

因此,当我检查输出文件时,我得到:

姓氏: 名字 薪水 :-9.25596e+061增加: -858993460

我做错了什么?

试试这个:

if (!(cin >> value >> value2 >> value3)) {
    cout << "input failed" << endl;
    return -1;
}

我的猜测是您的输入失败。您还可以检查文件是否正确打开,您的代码丢失了。

顺便说一句:没有必要显式关闭流,当它们超出范围并调用它们的析构函数时,它们会自动关闭。

程序可能在读取输入文件时遇到问题。为什么?基于输出值:

姓氏: 名字 薪水 :-9.25596e+061增加: -858993460

这是因为 LastnameFirstname 都是空的(即冒号后没有任何内容),当您像在代码中所做的那样取消初始化变量时,salryincrease 后面的数字很常见。

您应该做的是检查文件是否已打开:

if (!in.is_open()) {
    std::cerr << "Error opening input file!n";
    exit(1);
}