L1 - v1.2
This commit is contained in:
parent
b9aa0294f6
commit
52899e12e6
64
main.c
64
main.c
@ -45,8 +45,8 @@ int getVolumeInformation() {
|
||||
long getFileSize(LPCSTR path) {
|
||||
printf("- GetFileSize:\n");
|
||||
HANDLE hFile;
|
||||
DWORD fileSize;
|
||||
unsigned long structLargeInt;
|
||||
unsigned long long high;
|
||||
unsigned long long low;
|
||||
// Îòêðûòèå ôàéëà
|
||||
hFile = CreateFile(path,
|
||||
GENERIC_READ,
|
||||
@ -55,15 +55,20 @@ long getFileSize(LPCSTR path) {
|
||||
OPEN_EXISTING,
|
||||
FILE_ATTRIBUTE_NORMAL,
|
||||
NULL);
|
||||
if (hFile == INVALID_HANDLE_VALUE) {
|
||||
printf("Íå óäàëîñü îòêðûòü ôàéë\n");
|
||||
CloseHandle(hFile);
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Ïîëó÷åíèå ðàçìåðà ôàéëà
|
||||
structLargeInt = GetFileSize(hFile, NULL);
|
||||
low = GetFileSize(hFile, (LPDWORD) &high);
|
||||
|
||||
// Çàêðûòèå ôàéëà
|
||||
CloseHandle(hFile);
|
||||
|
||||
// Âûâîä ðàçìåðà ôàéëà
|
||||
printf("Ðàçìåð ôàéëà: %lu áàéò\n", structLargeInt);
|
||||
printf("Ðàçìåð ôàéëà: %llu\n", high << 32 | low);
|
||||
return 0;
|
||||
}
|
||||
int findNextFile() {
|
||||
@ -114,6 +119,11 @@ int compareFileTime(LPCSTR path_1, LPCSTR path_2) {
|
||||
OPEN_EXISTING,
|
||||
FILE_ATTRIBUTE_NORMAL,
|
||||
NULL);
|
||||
if (file1 == INVALID_HANDLE_VALUE) {
|
||||
printf("Íå óäàëîñü îòêðûòü ôàéë 1\n");
|
||||
CloseHandle(file1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
// âðåìÿ èçìåíåíèÿ ïåðâîãî ôàéëà
|
||||
GetFileTime(file1, NULL, NULL, &fileTime1);
|
||||
@ -129,6 +139,11 @@ int compareFileTime(LPCSTR path_1, LPCSTR path_2) {
|
||||
OPEN_EXISTING,
|
||||
FILE_ATTRIBUTE_NORMAL,
|
||||
NULL);
|
||||
if (file2 == INVALID_HANDLE_VALUE) {
|
||||
printf("Íå óäàëîñü îòêðûòü ôàéë 2\n");
|
||||
CloseHandle(file2);
|
||||
return 1;
|
||||
}
|
||||
// Ïîëó÷àåì âðåìÿ èçìåíåíèÿ âòîðîãî ôàéëà
|
||||
GetFileTime(file2, NULL, NULL, &fileTime2);
|
||||
|
||||
@ -178,31 +193,36 @@ int setLocalTime() {
|
||||
|
||||
return 0;
|
||||
}
|
||||
void getFileAttributes(LPCSTR path){
|
||||
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_DIRECTORY) {
|
||||
if (fileAttributes & FILE_ATTRIBUTE_ARCHIVE) {
|
||||
printf("\n/Directory");
|
||||
}// è òàê äàëåå äëÿ äðóãèõ àòðèáóòîâ ôàéëà...
|
||||
printf("\n");
|
||||
}
|
||||
int setFileAttributes(LPCSTR path) {
|
||||
int setFileAttributes(LPCSTR path, DWORD dwFileAttributes) {
|
||||
|
||||
printf("- SetFileAttributes:\n");
|
||||
// Góòü ê ôàéëó
|
||||
// Ñáðàñûâàåì àòðèáóòû ôàéëà
|
||||
SetFileAttributes(path, (DWORD) NULL);
|
||||
SetFileAttributes(path, (DWORD) 0);
|
||||
// Òåêóùèå àòðèáóòû ôàéëà
|
||||
printf("\tÒåêóùèå àòðèáóòû ôàéëà ÄÎ çàìåíû: ");
|
||||
getFileAttributes(path);
|
||||
|
||||
// Óñòàíàâëèâàåì àòðèáóòû ôàéëà
|
||||
DWORD newFileAttributes = FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_DIRECTORY;
|
||||
DWORD newFileAttributes = dwFileAttributes;
|
||||
BOOL result = SetFileAttributes( path, (DWORD) newFileAttributes);
|
||||
|
||||
printf("\tÒåêóùèå àòðèáóòû ôàéëà ÏÎÑËÅ çàìåíû: ");
|
||||
@ -253,20 +273,28 @@ int createFile() {
|
||||
|
||||
int main() {
|
||||
setlocale(LC_ALL, "Rus");
|
||||
printf("\n----------------------------\n");
|
||||
printf("\n----------------------------\n----------------------------\n----------------------------\n");
|
||||
printf("\tÈíôîðìàöèÿ î äèñêàõ:\n");
|
||||
getLogicalDriveStrings();// + ïîëó÷åíèå áóêâ äèñêîâ
|
||||
getVolumeInformation();// + ïîëó÷åíèå èíôîðìàöèè î ôàéëîâîé ñèñòåìå âûáðàííîãî ëîãè÷åñêîãî äèñêà
|
||||
// getLogicalDriveStrings();// + ïîëó÷åíèå áóêâ äèñêîâ
|
||||
// getVolumeInformation();// + ïîëó÷åíèå èíôîðìàöèè î ôàéëîâîé ñèñòåìå âûáðàííîãî ëîãè÷åñêîãî äèñêà
|
||||
printf("\n------------------------------------------\n");
|
||||
printf("\tÈíôîðìàöèÿ î ôàéëàõ è äèðåêòîðèÿõ:\n");
|
||||
getFileSize("text.txt");// + ïîëó÷àåò ðàçìåð ôàéëà
|
||||
findNextFile();// + ïîèñê ñëåäóþùåãî ôàéëà â ìåñòå ïîèñêà
|
||||
getWindowsDirectory();// + ïóòü ê îñíîâíîìó êàòàëîãó âèíäîâñ
|
||||
getFileSize("texàâïàâït.txt");// + ïîëó÷àåò ðàçìåð ôàéëà
|
||||
// findNextFile();// + ïîèñê ñëåäóþùåãî ôàéëà â ìåñòå ïîèñêà
|
||||
// getWindowsDirectory();// + ïóòü ê îñíîâíîìó êàòàëîãó âèíäîâñ
|
||||
compareFileTime("text.txt", "text2.txt.");// + îïðåäåëåíèå êàêîé èç ôàéëîâ áîëåå íîâûé
|
||||
printf("\n----------------------------\n");
|
||||
printf("\tÓïðàâëÿþùèå ôóíêöèè:\n");
|
||||
setLocalTime();// + óñòàíîâèòü òåêóùóþ äàòó è âðåìÿ
|
||||
setFileAttributes("text3.txt");// + óñòàíîâêà ôàéëîâûõ àòðèáóòîâ
|
||||
createFile();// + ñîçäàòü/îòêðûòü ôàéë
|
||||
CopyFile("text.txt", "text3.txt", 0);// ñêîïèðîâàòü ôàéë
|
||||
// setLocalTime();// + óñòàíîâèòü òåêóùóþ äàòó è âðåìÿ
|
||||
printf("\tÂâåäèòå íóæíûé àòðèáóò äëÿ óñòàíîâêè ôàéëó: 1 - òîëüêî äëÿ ÷òåíèÿ, 2 - ñêðûòûé, 3 - àðõèâíûé\n");
|
||||
int chislo = 0;
|
||||
scanf("%d", &chislo);
|
||||
if (chislo == 1 || chislo == 2 || chislo == 3)
|
||||
setFileAttributes("text3.txt", chislo);// + óñòàíîâêà ôàéëîâûõ àòðèáóòîâ
|
||||
else {
|
||||
printf("Óêàçàí íåâåðíûé íîìåð àòðèáóòà\n");
|
||||
}
|
||||
// createFile();// + ñîçäàòü/îòêðûòü ôàéë
|
||||
// CopyFile("text.txt", "text3.txt", 0);// ñêîïèðîâàòü ôàéë
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user