C ++问题中的文件处理

时间:2015-04-28 01:33:17

标签: c++ file filestream

我正在做一个关于C ++文件处理的项目。该项目希望用户创建顺序文件(输入数据),然后从顺序文件(输出数据)读取数据。我使用Visual Studio编写程序。但我想出了一些问题。

  
      
  1. Visual Studio在一个项目中只有一个int main()。那我怎么写这个程序呢?我为Java做了同样的项目,它工作正常。

  2.   
  3. 我尝试创建分离项目。现在,我可以有两个int main(),但我无法读取第一个文件(输入)中的数据,因为它们是两个不同的项目。

  4.   

我是C ++的新手,希望你们能帮助我。我不知道我是否可以在这里发帖提问。非常感谢你!

已更新

INPUT

 #include <iostream>
    #include <fstream>
    #include <string>
    #include <cstdlib>
    using namespace std;

    int main()
    {
        ofstream outClientFile("payroll.txt", ios::out);

        if (!outClientFile)
        {
            cerr << "File could not be opened" << endl;
            exit(EXIT_FAILURE);
        }

        cout << "Enter employee ID, hours and payrate" << endl
            << "Enter end-of-file to end input.\n? ";

        int id;
        float hours;
        float payrate;

        while (cin >> id >> hours >> payrate)
        {
            outClientFile << id << ' ' << hours << ' ' << payrate << endl;
            cout << "? ";
        }
    }

输出

#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
#include <cstdlib>
using namespace std;

void outputLine(int, float, float, float);

int main()
{
    ifstream inClientFile("payroll.txt", ios::in);

    if (!inClientFile)
    {
        cerr << "File could not be opened" << endl;
        exit(EXIT_FAILURE);
    }

    int id;
    float hours;
    float payrate;
    float grosspay = hours * payrate;

    cout << left << setw(10) << "Employee ID" << setw(13) << "hours" << "payrate" << setw(10) << "grosspay" << endl << fixed << showpoint;

    while (inClientFile >> id >> hours >> payrate >> grosspay)
        outputLine(id, hours, payrate, grosspay);
}
void outputLine(int id, float hours, float payrate, float grosspay)
{
    cout << left << setw(10) << id << setw(13) << hours << setw(7) << payrate << setw(7) << setprecision(2) << right << payrate << endl;
}

1 个答案:

答案 0 :(得分:1)

您不需要拥有多个main功能。

您只需制作part1函数和part2函数,然后从main逐个调用它们。

void part1(){
//code for writing the file
}

void part2(){
//code for reading the file
}

int main(){
    part1();
    part2();
    return 0;
}