如下,一个转写文件的程序
#include<iostream>
#include<iomanip>
#include<fstream>
using namespace std;
int main()
{
char Name[30], ch, ch2, ch0, row[1024];
cout << "请输入需要打开的文件名:";
cin >> Name;
fstream orgfile(Name, ios::in);
if (!orgfile)
{
cout << "打开文件失败!" << endl;
exit(0);
}
cout << "打开文件成功!\n";
fstream newfile("new.txt", ios::in|ios::out);
if (!newfile)
{
cout << "打开文件失败!" << endl;
exit(0);
}
cout << "打开新文件成功!\n";
ch0 = '.';
while (!orgfile.eof())
{
orgfile.get(ch);
if (ch >= 'A' && ch <= 'Z' || ch >= 'a' && ch <= 'z'||ch=='.')
{
if (ch0 == '.')
{
ch2 = ch;
newfile.put(ch2);
}
else
{
ch2 = tolower(ch);
newfile.put(ch2);
}
ch0 = ch;
}
else
{
orgfile.get(ch);
newfile.put(ch);
}
}
cout << "转换成功!";
orgfile.close();
newfile.close();
return 0;
}
在原文件不以'.'结尾时一切正常,但是如果以'.'结尾则会出现问题:新文件末尾多出一个'.',
如下:
原文件:DzA.cgfdhrtrgsgfnfASDFEGWFdergfGER....DVFVERVxew.
新文件:DzA.cgfdhrtrgsgfnfASDFEGWFdergfGER....DVFVERVxew..
请问是什么导致的,如何修改?