
11.06.2008, 19:31
|
|
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме: 2187381
Репутация:
518
|
|
2 xxxxxxxxxxxx (3-я)
Код:
void delete_rem(char *m_path)
{
CFile f;
CFileException e;
char *file_buf;
int fl=0;
long l,i,n;
if(f.Open(m_path,CFile::modeRead,&e))
{
f.SeekToEnd();
l=f.GetPosition();
file_buf=new char[l];
f.SeekToBegin();
l=f.ReadHuge(file_buf,l);
f.Close();
for(i=0;i<l;i++)
{
switch(*(file_buf+i))
{
case 0x0d:
if(fl==1)
{
memmove(file_buf+n,file_buf+i,l-i);
l-=i-n;
i-=i-n;
fl=0;
}
break;
default:
if(i>0)
if(strncmp(file_buf+i-1,"//",2)==0 && fl==0)
{ fl=1; n=i-1;}
else
if(strncmp(file_buf+i-1,"/*",2)==0)
{ fl=2; n=i-1;}
else
if(strncmp(file_buf+i-1,"*/",2)==0)
{
if(fl==2)
{
memmove(file_buf+n,file_buf+i+1,l-i-1);
l-=i-n;
i-=i-n;
fl=0;
}
}
}
}
if(f.Open(m_path,CFile::modeCreate | CFile::modeWrite,&e))
{
f.WriteHuge(file_buf,l-1);
f.Close();
}
delete[] file_buf;
}
}
по поводу остальных задач .... ты должен был давать примеры входных данных в файле, если планируешь что ктото напишет, а если как некоторые думаешь ,что все уже кем то было написано, то Google в руки!
Последний раз редактировалось Delimiter; 11.06.2008 в 23:13..
|
|
|