这个题目怎么优化?谢谢啦。
题目:编写程序,定义文件流对象,将当前C++源程序作为读入文件,区分其中的字母和和其他字符,再分别写入两文件,再分别将文件中的信息显示在屏幕上。程序代码:
amespace std; const int SIZE=80; int SUM=0; int main() { vector<char> Buffer1,Buffer2; int i; ifstream in("cout.cpp"); in.seekg(0,in.end); int length=in.tellg(); //源文件大小 in.seekg(0,in.beg); char* buffer; buffer=new char[length]; in.read(buffer,length); for(i=0;i<length;i++) { if(buffer[i]>='A'&&buffer[i]<='Z'||buffer[i]>='a'&&buffer[i]<='z') {//数据分类 SUM++; Buffer1.push_back(buffer[i]); } else Buffer2.push_back(buffer[i]); } delete[]buffer; ofstream out1("1.txt"),out2("2.txt"); cout<<"1.txt:"<<'\n'; for(i=0;i<SUM;i++){//写入文件1并输出 out1.put(Buffer1[i]); cout<<Buffer1[i]; } cout<<'\n'<<"2.txt:"<<endl; for(i=0;i<length-SUM;i++){//写入文件2并输出 out2.put(Buffer2[i]); cout<<Buffer2[i]; } ofstream ou1("1.txt"),ou2("2.txt"); in.close();//关闭文件 ou1.close(); ou2.close(); return 0; }