0

我无法弄清楚如何做到这一点:

我必须从一个 .txt 文件中读取,其中一行包含一个名称,然后是下一行的价格,并继续大约 10 次。(即文本文件说:

约翰·多伊

234.0

简·多伊

465.0

我必须在姓名前面打印“姓名”,在号码前面打印“工资:”。我该怎么做?我什至不知道从哪里开始!

编辑:到目前为止我所拥有的:

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

int main()

{
ifstream infile("wage.txt");
ofstream outfile("wage.txt");
string line;
if(infile.is_open){
    while(!infile){
        getline(infile,line);
        if (isdigit(line)){
            cout<<"$"<<line<<endl;
    }
}
}
return 0;
}
4

1 回答 1

0

我大约 90% 确定您将不得不读入整个文本文件,然后完全覆盖它。
文本文件本质上是一系列字符,我不相信它们支持实际插入。

您可以采用多种方法,我可能会将文件加载到一些包含名称和数量的结构中,然后以正确的格式重新生成文件。

另一种方法是创建一个新文件,并基于旧文件构建它,但格式正确除外,然后删除旧文件并将新文件重命名为正确的名称。

于 2012-11-01T21:31:12.793 回答