【发布时间】:2013-12-20 08:18:05
【问题描述】:
这是我的代码:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string fname,lname;
double pincrease //pay increase percentage,pay;
ifstream infile;
ofstream outfile;
infile.open("C:\\Users\\Connor\\Desktop");
outfile.open("C:\\Users\\Connor\\Desktop");
while(!infile.eof())
{
infile>>lname>>fname>>pay>>pincrease;
pay = pay*(pay*pincrease);
outfile<<fname<<" "<<lname<<" "<<pay<<"\n";
cin.clear();
}
infile.close();
outfile.close();
}
这是我infile的内容:
Miller Andrew 65789.87 5
Green Sheila 75892.56 6
Sethi Amit 74900.50 6.1
信息格式为Last Name:First Name:Pay:Pay Increase Percentage。
我写信给outfile时,名字和姓氏的订单交换和排除加薪百分比是故意的。
我正在尝试读取infile 的内容,对其进行修改,然后将其写入outfile。
但是,当我执行代码时,我很确定这是一个无限循环,但我不确定如何修复它。
【问题讨论】:
-
您是否正在读取和写入桌面文件夹?
-
@mgamba 是的。为了方便,我在桌面上有两个单独的文本文件,分别命名为 infile 和 outfile。
-
看起来
infile和outfile指向Desktop文件夹本身。lname声明也被注释掉了。 -
@mgamba 是的,注释掉是个意外。将 cmets 放在帖子中以进行澄清,但我做错了,所以我把它们删除了。