C++ 写和读长字符串

C++ 写和读长字符串,c++,database,string,file-io,C++,Database,String,File Io,我正在编写一个类似于数据库的程序。它包括工作编号、名字、姓氏、工作描述和工作持续时间 对于描述,我只知道如何从文件中读取单个字串。 这是我的密码 // basic file operations #include <iostream> #include <fstream> using namespace std; int main() { int jobNumber; string fName; string lName; string

我正在编写一个类似于数据库的程序。它包括工作编号、名字、姓氏、工作描述和工作持续时间

对于描述,我只知道如何从文件中读取单个字串。 这是我的密码

// basic file operations
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    int jobNumber;
    string fName;
    string lName;
    string jobTask;
    int jobDuration;
    int Rate = 40;
    int Price = jobDuration * Rate;
    int totalJobs = 0;
    ifstream ClientDataBase("example.txt");

    while (ClientDataBase >> jobNumber >> fName >> lName >> jobTask >> jobDuration)
    {
        cout << jobNumber << ' ' << fName << ' ' << lName << ' ' << jobTask << ' ' << jobDuration << "hours" << endl;
        totalJobs++;
    }
    cout << "\nThere are a total of " << totalJobs << " recorded in this database" << endl;
    ofstream ClientDatabase("example.txt", ios::app);
    cout << "Enter new clients job number, first name, last name, job task, duration of task" << endl;
    cout << "press Ctrl+Z to quit\n\n" << endl;
    while (cin >> jobNumber >> fName >> lName >> jobTask >> jobDuration)
    {
        ClientDatabase << jobNumber << ' ' << fName << ' ' << lName << ' ' << jobTask << ' ' << jobDuration << endl;
    }
}
//基本文件操作
#包括
#包括
使用名称空间std;
int main()
{
int作业编号;
字符串fName;
字符串名称;
字符串作业任务;
工作持续时间;
积分率=40;
int价格=工作持续时间*费率;
int totalJobs=0;
ifstream客户端数据库(“example.txt”);
同时(客户端数据库>>作业编号>>fName>>lName>>作业任务>>作业持续时间)
{

cout文件的组织方式会给您带来麻烦,使用一些特定的字符来分隔数据会很有帮助

您可以这样做,例如:

employee1=job_number:first_name:last_name:job_description:job_duration
employee2=job_number:first_name:last_name:job_description:job_duration
employee3=job_number:first_name:last_name:job_description:job_duration
// etc..
在您的程序中,您将读取一行,将其保存在缓冲区中,处理缓冲区(解析它,检索数据,检查语法等),删除它,然后读取新行,等等

因为你们的单词之间并没有空格,所以你们的问题显然已经解决了,你们以后可能还会遇到很多其他问题

使用iostream非常简单,这不会给您带来任何麻烦,即使这样,您也知道该去哪里


<>祝好运,我是一个新的C++,所以我会努力理解你刚才写的东西。谢谢你这么快就回来了:)我不打算把它作为正确答案,因为我需要努力实现它并使它工作。一开始我就标记为正确并关闭这个问题。注意,代码> > ReXEX <代码>存在于C++ 11中。有助于解析