Родитель
806f9d52a5
Сommit
24491f04e3
@ -0,0 +1,75 @@
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <cstring>
|
||||
#include <cctype>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main()
|
||||
{
|
||||
setlocale(LC_ALL, "Russian");
|
||||
|
||||
// Øàã 1: Çàïðîñ ó ïîëüçîâàòåëÿ èìÿ ôàéëà
|
||||
char filename[256];
|
||||
cout << "Ââåäèòå èìÿ ôàéëà: ";
|
||||
cin.getline(filename, sizeof(filename));
|
||||
|
||||
// Øàã 2: Ïðîâåðêà êîððåêòíîñòè èìåíè ôàéëà
|
||||
bool isValid = true;
|
||||
|
||||
// Ïðîâåðêà íà çàïðåùåííûå ñèìâîëû
|
||||
const char* forbiddenChars = "*\"<>?|";
|
||||
if (strpbrk(filename, forbiddenChars) != nullptr)
|
||||
isValid = false;
|
||||
|
||||
// Ïðîâåðêà íà äâîåòî÷èå
|
||||
if (strchr(filename, ':') != nullptr &&
|
||||
(filename[1] != '\\' || !isalpha(filename[0]) ||
|
||||
strchr(filename, '\\') != strrchr(filename, '\\')))
|
||||
isValid = false;
|
||||
|
||||
// Øàã 3: Ïðîâåðêà íà ðàñøèðåíèå
|
||||
const char* extension = ".txt";
|
||||
if (strncmp(strrchr(filename, '.'), extension, strlen(extension)) != 0)
|
||||
strcat(filename, extension);
|
||||
|
||||
// Øàã 4: Çàãðóçèòü ñîäåðæèìîå òåêñòîâîãî ôàéëà â ïàìÿòü
|
||||
if (isValid)
|
||||
{
|
||||
ifstream file(filename, ios::binary | ios::ate);
|
||||
if (file.is_open())
|
||||
{
|
||||
streampos fileSize = file.tellg();
|
||||
char* buffer = new char[fileSize];
|
||||
file.seekg(0, ios::beg);
|
||||
file.read(buffer, fileSize);
|
||||
file.close();
|
||||
|
||||
// Øàã 5: Çàïðîñèòü ó ïîëüçîâàòåëÿ ñòðîêó
|
||||
char searchString[256];
|
||||
cout << "Ââåäèòå ñòðîêó äëÿ ïîèñêà: ";
|
||||
cin.getline(searchString, sizeof(searchString));
|
||||
|
||||
// Øàã 6: Ïîäñ÷èòàòü ÷èñëî âõîæäåíèé ñòðîêè â òåêñò ôàéë
|
||||
int count = 0;
|
||||
char* p = buffer;
|
||||
while ((p = strstr(p, searchString)) != nullptr)
|
||||
{
|
||||
count++;
|
||||
p += strlen(searchString);
|
||||
}
|
||||
|
||||
cout << "×èñëî âõîæäåíèé ñòðîêè \"" << searchString << "\" â òåêñòîâîì ôàéëå: " << count << endl;
|
||||
|
||||
// Øàã 7: Îñâîáîäèòü âûäåëåííóþ ïàìÿòü
|
||||
delete[] buffer;
|
||||
}
|
||||
else
|
||||
cout << "Îøèáêà îòêðûòèÿ ôàéëà." << endl;
|
||||
}
|
||||
else
|
||||
cout << "Íåêîððåêòíîå èìÿ ôàéëà." << endl;
|
||||
|
||||
system("pause");
|
||||
return 0;
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
I am a programmist!!!
|
||||
This program is working so good!
|
Загрузка…
Ссылка в новой задаче