Compare commits

...

2 Commits
master ... l1

Author SHA1 Message Date
Суслов Роман
52899e12e6 L1 - v1.2 2023-10-22 16:22:21 +03:00
Суслов Роман
b9aa0294f6 v1.1 2023-09-28 15:08:33 +03:00
6 changed files with 89 additions and 75 deletions

8
.idea/APD_L1.iml generated
View File

@ -1,8 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module type="CPP_MODULE" version="4"> <module classpath="CIDR" type="CPP_MODULE" version="4" />
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

1
example.txt Normal file
View File

@ -0,0 +1 @@
Hello, World!

132
main.c
View File

@ -42,28 +42,33 @@ int getVolumeInformation() {
} }
// --- // ---
long getFileSize() { long getFileSize(LPCSTR path) {
printf("- GetFileSize:\n"); printf("- GetFileSize:\n");
HANDLE hFile; HANDLE hFile;
DWORD fileSize; unsigned long long high;
unsigned long structLargeInt; unsigned long long low;
// Îòêðûòèå ôàéëà // Îòêðûòèå ôàéëà
hFile = CreateFile((LPCSTR) "../text.txt", hFile = CreateFile(path,
GENERIC_READ, GENERIC_READ,
FILE_SHARE_READ, FILE_SHARE_READ,
NULL, NULL,
OPEN_EXISTING, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, FILE_ATTRIBUTE_NORMAL,
NULL); NULL);
if (hFile == INVALID_HANDLE_VALUE) {
printf("Íå óäàëîñü îòêðûòü ôàéë\n");
CloseHandle(hFile);
return 1;
}
// Ïîëó÷åíèå ðàçìåðà ôàéëà // Ïîëó÷åíèå ðàçìåðà ôàéëà
structLargeInt = GetFileSize(hFile, NULL); low = GetFileSize(hFile, (LPDWORD) &high);
// Çàêðûòèå ôàéëà // Çàêðûòèå ôàéëà
CloseHandle(hFile); CloseHandle(hFile);
// Âûâîä ðàçìåðà ôàéëà // Âûâîä ðàçìåðà ôàéëà
printf("Ðàçìåð ôàéëà: %lu áàéò\n", structLargeInt); printf("Ðàçìåð ôàéëà: %llu\n", high << 32 | low);
return 0; return 0;
} }
int findNextFile() { int findNextFile() {
@ -101,19 +106,24 @@ int getWindowsDirectory() {
printf("Âèíäîñâ ïàïêà òóò: %s\n", windowsDir); printf("Âèíäîñâ ïàïêà òóò: %s\n", windowsDir);
return 0; return 0;
} }
int compareFileTime() { int compareFileTime(LPCSTR path_1, LPCSTR path_2) {
printf("- CompareFileTime:\n"); printf("- CompareFileTime:\n");
FILETIME fileTime1; FILETIME fileTime1;
FILETIME fileTime2; FILETIME fileTime2;
// ïåðâûé ôàéë // ïåðâûé ôàéë
HANDLE file1 = CreateFile((LPCSTR) "../text.txt", HANDLE file1 = CreateFile(path_1,
GENERIC_READ, GENERIC_READ,
FILE_SHARE_READ, FILE_SHARE_READ,
NULL, NULL,
OPEN_EXISTING, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, FILE_ATTRIBUTE_NORMAL,
NULL); NULL);
if (file1 == INVALID_HANDLE_VALUE) {
printf("Íå óäàëîñü îòêðûòü ôàéë 1\n");
CloseHandle(file1);
return 1;
}
// âðåìÿ èçìåíåíèÿ ïåðâîãî ôàéëà // âðåìÿ èçìåíåíèÿ ïåðâîãî ôàéëà
GetFileTime(file1, NULL, NULL, &fileTime1); GetFileTime(file1, NULL, NULL, &fileTime1);
@ -122,13 +132,18 @@ int compareFileTime() {
CloseHandle(file1); CloseHandle(file1);
// Îòêðûâàåì âòîðîé ôàéë // Îòêðûâàåì âòîðîé ôàéë
HANDLE file2 = CreateFile((LPCSTR) "../text2.txt", HANDLE file2 = CreateFile(path_2,
GENERIC_READ, GENERIC_READ,
FILE_SHARE_READ, FILE_SHARE_READ,
NULL, NULL,
OPEN_EXISTING, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, FILE_ATTRIBUTE_NORMAL,
NULL); NULL);
if (file2 == INVALID_HANDLE_VALUE) {
printf("Íå óäàëîñü îòêðûòü ôàéë 2\n");
CloseHandle(file2);
return 1;
}
// Ïîëó÷àåì âðåìÿ èçìåíåíèÿ âòîðîãî ôàéëà // Ïîëó÷àåì âðåìÿ èçìåíåíèÿ âòîðîãî ôàéëà
GetFileTime(file2, NULL, NULL, &fileTime2); GetFileTime(file2, NULL, NULL, &fileTime2);
@ -157,7 +172,7 @@ int setLocalTime() {
// Çàïîëíåíèå ñòðóêòóðû SYSTEMTIME äàííûìè òåêóùåãî âðåìåíè // Çàïîëíåíèå ñòðóêòóðû SYSTEMTIME äàííûìè òåêóùåãî âðåìåíè
GetLocalTime(&systemTime); GetLocalTime(&systemTime);
printf("\nÄàòà è âðåìÿ ÄÎ èçìåíåíèÿ: %02d-%02d-%d %02d:%02d:%02d\n", printf("Äàòà è âðåìÿ ÄÎ èçìåíåíèÿ: %02d-%02d-%d %02d:%02d:%02d\n",
systemTime.wDay, systemTime.wMonth, systemTime.wYear, systemTime.wDay, systemTime.wMonth, systemTime.wYear,
systemTime.wHour, systemTime.wMinute, systemTime.wSecond); systemTime.wHour, systemTime.wMinute, systemTime.wSecond);
@ -172,50 +187,47 @@ int setLocalTime() {
SetLocalTime(&systemTime); SetLocalTime(&systemTime);
printf("Âðåìÿ óñïåøíî èçìåíåíî\n"); printf("Âðåìÿ óñïåøíî èçìåíåíî\n");
printf("\nÄàòà è âðåìÿ ÏÎÑËÅ èçìåíåíèÿ: %02d-%02d-%d %02d:%02d:%02d\n", printf("Äàòà è âðåìÿ ÏÎÑËÅ èçìåíåíèÿ: %02d-%02d-%d %02d:%02d:%02d\n",
systemTime.wDay, systemTime.wMonth, systemTime.wYear, systemTime.wDay, systemTime.wMonth, systemTime.wYear,
systemTime.wHour, systemTime.wMinute, systemTime.wSecond); systemTime.wHour, systemTime.wMinute, systemTime.wSecond);
return 0; return 0;
} }
int setFileAttributes() { int getFileAttributes(LPCSTR path){
DWORD fileAttributes = GetFileAttributes(path);
if (fileAttributes == INVALID_FILE_ATTRIBUTES)
{
printf("Îøèáêà îòêðûòèÿ ôàéëà.\n");
return 1;
}
if (fileAttributes & FILE_ATTRIBUTE_READONLY) {
printf("\n/Read-only");
}
if (fileAttributes & FILE_ATTRIBUTE_HIDDEN) {
printf("\n/Hidden");
}
if (fileAttributes & FILE_ATTRIBUTE_ARCHIVE) {
printf("\n/Directory");
}// è òàê äàëåå äëÿ äðóãèõ àòðèáóòîâ ôàéëà...
printf("\n");
}
int setFileAttributes(LPCSTR path, DWORD dwFileAttributes) {
printf("- SetFileAttributes:\n"); printf("- SetFileAttributes:\n");
// Góòü ê ôàéëó // Góòü ê ôàéëó
LPCWSTR filePath = L"..\\text3.txt";
// Ñáðàñûâàåì àòðèáóòû ôàéëà // Ñáðàñûâàåì àòðèáóòû ôàéëà
SetFileAttributes((LPCSTR) filePath, (DWORD) NULL); SetFileAttributes(path, (DWORD) 0);
// Òåêóùèå àòðèáóòû ôàéëà // Òåêóùèå àòðèáóòû ôàéëà
DWORD fileAttributes = GetFileAttributes((LPCSTR) filePath);
printf("\tÒåêóùèå àòðèáóòû ôàéëà ÄÎ çàìåíû: "); printf("\tÒåêóùèå àòðèáóòû ôàéëà ÄÎ çàìåíû: ");
if (fileAttributes & FILE_ATTRIBUTE_READONLY) { getFileAttributes(path);
printf("\n- Read-only");
}
if (fileAttributes & FILE_ATTRIBUTE_HIDDEN) {
printf("\n- Hidden");
}
if (fileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
printf("\n- Directory");
}// è òàê äàëåå äëÿ äðóãèõ àòðèáóòîâ ôàéëà...
printf("\n");
// Óñòàíàâëèâàåì àòðèáóòû ôàéëà // Óñòàíàâëèâàåì àòðèáóòû ôàéëà
DWORD newFileAttributes = FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_DIRECTORY |fileAttributes; DWORD newFileAttributes = dwFileAttributes;
BOOL result = SetFileAttributes((LPCSTR) filePath, (DWORD) newFileAttributes); BOOL result = SetFileAttributes( path, (DWORD) newFileAttributes);
fileAttributes = GetFileAttributes((LPCSTR) filePath);
printf("\tÒåêóùèå àòðèáóòû ôàéëà ÏÎÑËÅ çàìåíû: "); printf("\tÒåêóùèå àòðèáóòû ôàéëà ÏÎÑËÅ çàìåíû: ");
if (fileAttributes & FILE_ATTRIBUTE_READONLY) {
printf("\n- Read-only"); getFileAttributes(path);
}
if (fileAttributes & FILE_ATTRIBUTE_HIDDEN) {
printf("\n- Hidden");
}
if (fileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
printf("\n- Directory");
}// è òàê äàëåå äëÿ äðóãèõ àòðèáóòîâ ôàéëà...
printf("\n");
return 0; return 0;
} }
@ -257,46 +269,32 @@ int createFile() {
return 0; return 0;
} }
void copyFile(const char* sourceFile, const char* destinationFile) {
printf("- CopyFile:\n");
FILE* source = fopen(sourceFile, "rb");
FILE* destination = fopen(destinationFile, "wb");
// Êîïèðóåì ñîäåðæèìîå ôàéëà
char buffer[1024];
size_t bytesRead;
while ((bytesRead = fread(buffer, 1, sizeof(buffer), source)) > 0) {
fwrite(buffer, 1, bytesRead, destination);
}
// Çàêðûâàåì ôàéëû
fclose(source);
fclose(destination);
printf("Ôàéë óñïåøíî ñêîïèðîâàí.\n");
}
int main() { int main() {
setlocale(LC_ALL, "Rus"); setlocale(LC_ALL, "Rus");
printf("\n----------------------------\n"); printf("\n----------------------------\n----------------------------\n----------------------------\n");
printf("\tÈíôîðìàöèÿ î äèñêàõ:\n"); printf("\tÈíôîðìàöèÿ î äèñêàõ:\n");
// getLogicalDriveStrings();// + ïîëó÷åíèå áóêâ äèñêîâ // getLogicalDriveStrings();// + ïîëó÷åíèå áóêâ äèñêîâ
// getVolumeInformation();// + ïîëó÷åíèå èíôîðìàöèè î ôàéëîâîé ñèñòåìå âûáðàííîãî ëîãè÷åñêîãî äèñêà // getVolumeInformation();// + ïîëó÷åíèå èíôîðìàöèè î ôàéëîâîé ñèñòåìå âûáðàííîãî ëîãè÷åñêîãî äèñêà
printf("\n------------------------------------------\n"); printf("\n------------------------------------------\n");
printf("\tÈíôîðìàöèÿ î ôàéëàõ è äèðåêòîðèÿõ:\n"); printf("\tÈíôîðìàöèÿ î ôàéëàõ è äèðåêòîðèÿõ:\n");
// getFileSize();// + ïîëó÷àåò ðàçìåð ôàéëà getFileSize("text.txt");// + ïîëó÷àåò ðàçìåð ôàéëà
getFileSize("texàâïàâït.txt");// + ïîëó÷àåò ðàçìåð ôàéëà
// findNextFile();// + ïîèñê ñëåäóþùåãî ôàéëà â ìåñòå ïîèñêà // findNextFile();// + ïîèñê ñëåäóþùåãî ôàéëà â ìåñòå ïîèñêà
// getWindowsDirectory();// + ïóòü ê îñíîâíîìó êàòàëîãó âèíäîâñ // getWindowsDirectory();// + ïóòü ê îñíîâíîìó êàòàëîãó âèíäîâñ
// compareFileTime();// + îïðåäåëåíèå êàêîé èç ôàéëîâ áîëåå íîâûé compareFileTime("text.txt", "text2.txt.");// + îïðåäåëåíèå êàêîé èç ôàéëîâ áîëåå íîâûé
printf("\n----------------------------\n"); printf("\n----------------------------\n");
printf("\tÓïðàâëÿþùèå ôóíêöèè:\n"); printf("\tÓïðàâëÿþùèå ôóíêöèè:\n");
// setLocalTime();// + óñòàíîâèòü òåêóùóþ äàòó è âðåìÿ // setLocalTime();// + óñòàíîâèòü òåêóùóþ äàòó è âðåìÿ
// setFileAttributes();// + óñòàíîâêà ôàéëîâûõ àòðèáóòîâ printf("\tÂâåäèòå íóæíûé àòðèáóò äëÿ óñòàíîâêè ôàéëó: 1 - òîëüêî äëÿ ÷òåíèÿ, 2 - ñêðûòûé, 3 - àðõèâíûé\n");
// createFile();// ñîçäàòü/îòêðûòü ôàéë int chislo = 0;
const char* sourceFile = ".//text.txt"; scanf("%d", &chislo);
const char* destinationFile = ".//text33.txt"; if (chislo == 1 || chislo == 2 || chislo == 3)
CopyFile(".//text.txt", ".//text3.txt", 0);// ñêîïèðîâàòü ôàéë setFileAttributes("text3.txt", chislo);// + óñòàíîâêà ôàéëîâûõ àòðèáóòîâ
else {
printf("Óêàçàí íåâåðíûé íîìåð àòðèáóòà\n");
}
// createFile();// + ñîçäàòü/îòêðûòü ôàéë
// CopyFile("text.txt", "text3.txt", 0);// ñêîïèðîâàòü ôàéë
} }

BIN
main.exe Normal file

Binary file not shown.

View File

@ -18,4 +18,4 @@ text.txt
text.txt text.txt
text.txt text.txt
text.txt text.txt
text.txttexttext.txtывыфвывыав text.txttexttext.txtывыфвывыавsd

View File

@ -0,0 +1,21 @@
;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan
;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan
;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan
;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan
;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan
;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsanss
;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan
;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan
text.txttext.txttext.txt
text.txttext.txttext.txttext.txtsss
text.txttext.txttext.txttext.txt
text.txttext.txttext.txt
text.txtss
text.txt
text.txt
text.txt
text.txttexttext.txtss