порівняння рядків у файлах.
- Cat висновок або конкатенація файлів.
- Cd встановлення директорії.
- Wc підрахунок кількості рядків, слів і символів в файлі.
- Mv перейменування або переміщення файлів.
- Man довідкове керівництво.
Як засіб реалізації вибрана мова c ++, в середовищі MS Visual Studio, оскільки його можливості ідеально підходять в якості рішення.
Список літератури
1.Ніколенко Д. В. Самовчитель по Visual C ++.-СПб: Наука і техніка, 2001. - 368 с.
.Уейт М., Прата С., Мартін Д. Мова Сі. Керівництво для початківців.- М.: Світ, 1988. - 512с.
.Савіч У. С ++ у всій повноті.- К.: BHV; СПб: Питер, 2005. 784 с.
Додаток
# include stdafx.h
# include lt; iostream gt;
# include lt; string gt;
# include lt; locale gt;
# include lt; iomanip gt;
# include lt; fstream gt;
# include lt; conio.h gt;
# include lt; Windows.h gt;
# include lt; vector gt;
# include lt; sstream gt;
# include lt; Lmcons.h gt; namespace std; * buffer=new char [MAX_PATH]; outclass
{: * x; ofstream f;: startout (string filename)
{f.open (filename); x=cout.rdbuf (f.rdbuf ()); } endout () {cout.rdbuf (x); }
}; ConsoleColor
{= 0, Blue=1, Green=2, Cyan=3, Red=4, Magenta=5,=6, LightGray=7, DarkGray=8, LightBlue=9, LightGreen=10 , LightCyan=11, LightRed=12 LightMagenta=13, Yellow=14, White=15
}; SetColor (ConsoleColor text, ConsoleColor background)
{HANDLE hStdOut=GetStdHandle (STD_OUTPUT_HANDLE); (hStdOut, (WORD) ((background lt; lt; 4) | text));
} gfs (wchar_t * ta)
{_ t * u=ta; Handle; _FIND_DATA FindData; Result=0;=FindFirstFile (u, amp; FindData); (Handle == INVALID_HANDLE_VALUE) {return 0;}
{(wcscmp (FindData.cFileName, L . )!=0 amp; amp; wcscmp (FindData.cFileName, L .. )!=0) (FindData.dwFileAttributes amp; FILE_ATTRIBUTE_DIRECTORY)
{
}=Result + ((DWORDLONG) FindData.nFileSizeHigh lt; lt; 32) + FindData.nFileSizeLow;
} while (FindNextFile (Handle, amp; FindData)!=0); (Handle); Result;
} MoveFolder (LPCTSTR pszFrom, LPCTSTR pszTo)
{fos={0} ;. wFunc=FO_MOVE; .pFrom=pszFrom; .pTo=pszTo;
:: SHFileOperation ( amp; fos);
} DirExists (const wchar_t * fname)
{(fname == NULL || wcslen (fname) == 0)
{false;
} dwAttrs=:: GetFileAttributesW (fname); (dwAttrs == DWORD (- 1))
{dLastError=GetLastError (); (ERROR_TOO_MANY_NAMES == dLastError
|| ERROR_SHARING_VIOLATION == dLastError
|| ERROR_TOO_MANY_SESS == dLastError
|| ERROR_SHARING_BUFFER_EXCEEDED == dLastError)
{true;
} else
{false;
}
} true;
} _ t * un ()
{_ t name [600]; sz=sizeof (name); (name, amp; sz); name;
} IfFileExistsAndIsNotEmpty (string fPath)
{str [255]; file_re; file_re.open (fPath.c_str ()); (! file_re) {return false; } (! File_re.getline (str, sizeof (str)) .eof ()) {return true; } false;
} _ tmain (int argc, _TCHAR * argv [])
{( color 0A ); setlocale (LC_ALL, Russian ); ( chcp тисячі двісті п'ятьдесят-один ); system ( cls ); (L c: vlad ); _ FIND_DATA FindFileData; HANDLE hf; SYSTEMTIME st; path; s2; _t t [100]={0}; was=false; lt; string gt; vs; (1)
{. clear ();=false; (MAX_PATH, buffer); (buffer, buffer); bufcom [256]; sizecom=256;(bufcom,amp;sizecom);out_file;lt;lt;un()lt;lt;laquo;@raquo;lt;lt;bufcomlt;lt;laquo;:/raquo;lt;lt;bufferlt;lt;laquo;~$ raquo ;; (cin, path); (path.empty ()) {continue;} ss; .str (path); (ss gt; gt; s2) vs.push_back (s2); (path == exit ) {return 0;} (vs [0] == cat )
{= true; (vs.size () == 1) {cout lt; lt; cat: не вистачає операнда lt; lt; endl; continue; }=true; string text; string emp; string file; ofstream o; skey=false; bool ...