我很难弄清楚如何做到这一点:
我必须从.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;
}
我大约 90% 确定您将不得不读取整个文本文件,然后完全覆盖它。
文本文件本质上是一个字符序列,我不相信它们支持实际插入。
您可以采取多种方法,我可能会将文件加载到包含名称和金额的某种结构中,然后以正确的格式重新生成文件。
另一种方法是创建一个新文件,并基于旧文件构建它,除非格式正确,然后删除旧文件并重命名新文件以具有正确的名称。