#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <string.h>
#include <locale.h>
#define N 100000
int main(int argc, char *argv[])
{
FILE *file, *file2 ;
long int end; /* ïðèçíàê êîíöà ôàéëà */
int i=0; /* èíäåêñ ñòðîêè */
int COLVOslov=0, MAXslov=0, scethic=0, MAXstrok=0, flag=0; /* COLVOslov-ñ÷åòêèê êîë-âà ñëîâ â ñòðîêå, MAXslov-ìàêñèìàëüíîå êîë-âî ñëîâ â ñòðîêå*/
char si; /* ïîñèìâîëüíîå ñ÷èòûâàíèå èç ôàéëà */
fpos_t posN,posNMAXCOLslov, posNMAXdlin;
/* ïåðåìåííûå äëÿ îòêðûòèÿ ôàéëà ÷åðåç ïàðàìåòðû ô-è main() */
int a=1; /* èíäåêñ äëÿ àðãóìåíòà argv ô-è main() */
char namefH[1000]={},namefZ[1000]={}; /* namefH-ôàéë ÷òåíèÿ, namefZ-ôàéë çàïèñè */
/* ðîçîâàÿ ìèëîòà */
HANDLE consoleOutput;
consoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(consoleOutput, 1 | FOREGROUND_RED | FOREGROUND_INTENSITY);
/* ïðîâåðêà êîë-âà ïåðåäàííûõ ïàðàìåòðîâ */
if(argc==1)
{
printf(" ‚¢¥¤¨â¥ ¨¬ï ä ©« ¤«ï ®¡à ¡®âª¨:\n");
scanf("%s", namefH);
printf(" ‚¢¥¤¨â¥ ¨¬ï ¢ë室®£® ä ©«:\n");
scanf("%s", namefZ);
}
if(argc==2)
{
strcpy(namefH,argv[1]);
printf(" ‚¢¥¤¨â¥ ¨¬ï ¢ë室®£® ä ©«: \n");
scanf("%s", namefZ);
}
if(argc==3)
{
strcpy(namefH,argv[1]);
strcpy(namefZ,argv[2]);
}
/* ïðîâåðêà îòêðûòèÿ ôàéëà */
if((file=fopen(namefH,"r+"))== NULL)
{
printf(" ¥ 㤠«®áì ®âªàëâì: %s\n", namefH);
system("PAUSE");
return 1;
}
if((file2=fopen(namefZ,"w+")) == NULL)
{
printf(" ¥ 㤠«®áì ®âªàëâì: %s\n", namefZ);
system("PAUSE");
return 1;
}
fseek(file , 0, SEEK_END );
end = ftell(file);
fseek(file , 0, SEEK_SET );
fgetpos(file, &posN);
while( ftell(file)!=end )
{
si=fgetc(file);
if((si!='.') && (ftell(file)!=end))
{
scethic++;
if ( ( si=='\n' || si==' ' || si==',' || si=='(' || si==')' || si=='\' || si=='/' || si=='?' ) && flaq==0 ) )
{
COLVOslov++;
flag++;
}
else
flag=0;
}
else
{
if(ftell(file)==end)
scethic++;
if(scethic>MAXstrok)
{
MAXstrok=scethic;
posNMAXdlin=posN;
}
if(COLVOslov>MAXslov)
{
MAXslov=COLVOslov;
posNMAXCOLslov=posN;
}
fgetpos(file, &posN);
}
}
/* çàïèñü â ôàéë */
fprintf(file2, "\n Càìàÿ äëèííàÿ ñòðîêà: \n ", );
fsetpos(file,&posNMAX);
while((si=getc(file))!='.' )
{
if(si!='\n')
printf(file2,"%c",si);
if(ftell(file)==end)
break;
}
fprintf(file2, "\n Ìàêñèìàëüíîå êîëè÷åñòâî ñëîâ: \n", );
fsetpos(file,&posNMAXCOLslov);
while((si=getc(file))!='.' )
{
if(si!='\n')
printf(file2,"%c",si);
if(ftell(file)==end)
break;
}
fclose(file);
fclose(file2);
system("PAUSE");
return 0;
}