Вот так, что ли:
In.txt a1a2a3a4 b1b2b3b4 c1c2c3c4
Out.txt c1c2c3c4 b1b2b3b4 a1a2a3a4
| Код | #include "stdafx.h"
using namespace System; using namespace System::IO;
int main(array<System::String ^> ^args) { try { if(args->Length>0 && File::Exists(args[0])) { const int size=4096; char ch=0; FileStream ^fileIn=File::OpenRead(args[0]); FileStream ^fileOut=File::Create(args[0]+".out"); array<unsigned char,1> ^bufferIn=gcnew array<unsigned char,1>(size); array<unsigned char,1> ^bufferOut=gcnew array<unsigned char,1>(size); for(int n=0,c=0,p=0;n<fileIn->Length;) { c=fileIn->Read(bufferIn,0,size); for(int i=0,l=0,k=0;i<c;i++) { ch=bufferIn[i]; //if(ch>=0x20) uncomment for release // bufferIn[i]=287-ch; if(ch=='\r' && i+1!=c && bufferIn[i+1]=='\n') { for(int j=c-i;j<c-l;j++,k++) bufferOut[j]=bufferIn[k]; l=i+2; bufferOut[c- ++k]='\n'; bufferOut[c- ++k]='\r'; continue; } if(i+1==c) for(int j=0;j<c-l;j++,k++) bufferOut[j]=bufferIn[k]; } n+=c; fileOut->Position=fileIn->Length-n; fileOut->Write(bufferOut,0,c); } fileIn->Close(); fileOut->Close(); delete[] bufferIn,bufferOut; } else Console::WriteLine("File not found.\n"); } catch(Exception ^ex) { Console::WriteLine("Какая-то ошибка, а именно:\n {0}",ex->Message); } return 0; }
|
|