我正在編寫一個程序來讀取/寫入包含員工信息的文本文件。 每個員工信息存儲在如下文本文件中。 員工信息存儲到四行。如何防止在文件末尾寫入「 n」
W00051 M
Christopher Tan
1200.00 150.00 1400.20 156.00 200.00 880.00 1500.00 8000.00 800.00 120.00 1600.00 1800.00
1280.00 1500.00 140.80 1523.00 2000.00 2300.00 2600.00 8800.00 19800.00 1221.00 3000.00 1900.00
W00012 E
Janet Lee
2570.00 2700.00 3000.00 3400.00 4000.00 13000.00 200.00 450.00 1200.00 8000.00 4500.00 9000.00
1238.00 560.00 6700.00 1200.00 450.00 789.00 67.90 999.00 3456.00 234.00 900.00 2380.00
我有接受員工的ID(W00012),並刪除其中包含員工information.The更新的文件存儲中tempfilesource行刪除僱員職能。
void delete_employee(char filesource[],char tempfilesource[],int employee_line,char inputid[])
{
char charline[255];
string line;
int linecount = 1;
ifstream inputempfile;
ofstream outputempfile;
inputempfile.open(filesource);
outputempfile.open(tempfilesource);
outputempfile.precision(2);
outputempfile.setf(ios::fixed);
outputempfile.setf(ios::showpoint);
if (inputempfile.is_open())
{
while (getline(inputempfile,line))
{
if((linecount<employee_line || linecount>employee_line+3))
{
outputempfile<< line;
}
linecount++;
}
inputempfile.close();
outputempfile.close();
}
}
的問題時,我想刪除的員工位於文本文件的底部出現。 和更新的文件包含一個空白換行符:
W00051 M
Christopher Tan
1200.00 150.00 1400.20 156.00 200.00 880.00 1500.00 8000.00 800.00 120.00 1600.00 1800.00
1280.00 1500.00 140.80 1523.00 2000.00 2300.00 2600.00 8800.00 19800.00 1221.00 3000.00 1900.00
<blank newline>
我怎樣才能防止被寫入文件中的新行?
你是如何檢查新行?文本文件通常在文件末尾有一個額外的'\ n'。但是,它通常被您的文本編輯器隱藏。新的一行是否顯示在文本編輯器中? – 2013-04-10 10:05:54