diff --git a/main.cpp b/main.cpp index b2b49aa..452ed4c 100644 --- a/main.cpp +++ b/main.cpp @@ -2,262 +2,7 @@ #include #include #include -//сделать применение функций -//GetLogicalDriverStrings V -//GetDriveType V -//GetCurrentDirectoryV -//GetFileAttributesV -//GetSystemDirectoryV -//GetTempPathV -//SetCurrentDirectoryV -//SetFileAttributesV -//CreateFileV -//ReadFileV -//WriteFileV -// for path use this: D:\c\lab1 -// for attributeChekc use: D:\c\lab1\text.txt -int getAllDisk(){ - DWORD dwSize = MAX_PATH; - char szLogicalDrives[MAX_PATH] = {0}; - WORD dwResult = GetLogicalDriveStrings(dwSize,szLogicalDrives); - if (dwResult > 0 && dwResult <= MAX_PATH) - { - char* szSingleDrive = szLogicalDrives; - while(*szSingleDrive) - { - printf("Drive: %s\n", szSingleDrive); - - // get the next drive - szSingleDrive += strlen(szSingleDrive) + 1; - } - } - return 0; -} -int getDriveType(){ - DWORD dwSize = MAX_PATH; - char szLogicalDrives[MAX_PATH] = {0}; - WORD dwResult = GetLogicalDriveStrings(dwSize,szLogicalDrives); - if (dwResult > 0 && dwResult <= MAX_PATH) - { - char* szSingleDrive = szLogicalDrives; - while(*szSingleDrive) - { - printf("Drive: %s", szSingleDrive); - switch(GetDriveType(szSingleDrive)){ - case 0: - printf("Error.\n"); - break; - case 1: - printf("Drive does not exist.\n"); - break; - case 2: - printf("Removable media.\n"); - break; - case 3: - printf("Fixed disk.\n"); - break; - case 4: - printf("Network drive.\n"); - break; - case 5: - printf("CD-ROM drive.\n"); - break; - } - // get the next drive - szSingleDrive += strlen(szSingleDrive) + 1; - } - } - return 0; -} -int getCurrentDirectory(){ - DWORD dwSize = MAX_PATH; - char szLogicalDrives[MAX_PATH] = {0}; - WORD dwResult = GetCurrentDirectory(dwSize,szLogicalDrives); - if (dwResult > 0 && dwResult <= MAX_PATH) - { - char* szSingleDrive = szLogicalDrives; - - printf("CurrentDirectory: %s\n", szSingleDrive); - - // get the next drive - //szSingleDrive += strlen(szSingleDrive) + 1; - - } - return 0; - -} -int getFileAttribute(char path[]){ - - switch(GetFileAttributes(path)){ - case FILE_ATTRIBUTE_ARCHIVE: - printf("Archived.\n"); - break; - case FILE_ATTRIBUTE_COMPRESSED: - printf("Compressed\n"); - break; - case FILE_ATTRIBUTE_DIRECTORY: - printf("FolderName\n"); - break; - case FILE_ATTRIBUTE_HIDDEN : - printf("hidden\n"); - break; - case FILE_ATTRIBUTE_NORMAL: - printf("Normal \n"); - break; - case FILE_ATTRIBUTE_READONLY : - printf("readOnly\n"); - break; - case FILE_ATTRIBUTE_SYSTEM : - printf("systemFile\n"); - break; - } - return 0; -} -int getSystemDirectory(){ - DWORD dwSize = MAX_PATH; - char szLogicalDrives[MAX_PATH] = {0}; - WORD dwResult = GetSystemDirectory(szLogicalDrives,dwSize); - if (dwResult > 0 && dwResult <= MAX_PATH) - { - char* szSingleDrive = szLogicalDrives; - - printf("SystemDirectory: %s\n", szSingleDrive); - - - - } - return 0; - -} -int getTempPath(){ - DWORD dwSize = MAX_PATH; - char szLogicalDrives[MAX_PATH] = {0}; - WORD dwResult = GetTempPath(dwSize,szLogicalDrives); - if (dwResult > 0 && dwResult <= MAX_PATH) - { - char* szSingleDrive = szLogicalDrives; - - printf("TempPath: %s\n", szSingleDrive); - - - - } - return 0; -} -int setCurrentDirectory(char path[]){ - SetCurrentDirectory(path); - getCurrentDirectory(); - return 0; -} -int setFileAttribute(char path[],int attribute){ - switch(attribute){ - case 1: - SetFileAttributes(path,FILE_ATTRIBUTE_ARCHIVE); - break; - case 2: - SetFileAttributes(path,FILE_ATTRIBUTE_COMPRESSED); - break; - case 3: - SetFileAttributes(path,FILE_ATTRIBUTE_DIRECTORY); - break; - case 4 : - SetFileAttributes(path,FILE_ATTRIBUTE_HIDDEN); - break; - case 5: - SetFileAttributes(path,FILE_ATTRIBUTE_NORMAL); - break; - case 6 : - SetFileAttributes(path,FILE_ATTRIBUTE_READONLY); - break; - case 7 : - SetFileAttributes(path,FILE_ATTRIBUTE_SYSTEM); - break; - default: - break; - } - getFileAttribute(path); - return 0; -} -int writeFile(char path[],char message[]){ - DWORD bytesWritten; - HANDLE hFile = CreateFile(path, FILE_WRITE_ACCESS, FILE_SHARE_READ, - NULL, OPEN_ALWAYS, 0, NULL); - WriteFile(hFile, message, strlen(message), &bytesWritten, NULL); - return 0; -} -int readFile(char path[]){ - char readBuffer[256]; - DWORD bytesRead; - - HANDLE fh = CreateFile(path, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); - - if(fh!=INVALID_HANDLE_VALUE){ - printf("File opened for reading!\n"); - } else { - printf("File not opened for reading!\n"); - exit(EXIT_FAILURE); - } - - if(ReadFile(fh, readBuffer, sizeof(readBuffer), &bytesRead, NULL)){ - printf("File successfully read!\n"); - printf("%lu bytes read.\n", bytesRead); - printf("%s\n", readBuffer); - } - - return 0; -} int main() { - printf("GetAllDisk:\n"); - getAllDisk(); - - printf("GetDriveType:\n"); - getDriveType(); - - printf("GetCurrentDirectory:\n"); - getCurrentDirectory(); - - printf("GetFileAttribute:\n"); - char userInput[MAX_PATH]; - printf("Input path\n"); - // scanf("%260s",userInput); - //getFileAttribute( userInput); - - printf("GetSystemDirectory:\n"); - getSystemDirectory(); - - printf("GetTempPath:\n"); - getTempPath(); - - printf("SetCurrentDirectory:\n"); - - printf("Input path\n"); - //scanf("%260s",userInput); - //setCurrentDirectory(userInput); - printf("SetFileAttribute\n"); - printf("Input path\n"); - //scanf("%260s",userInput); - int userChoice; - printf("choise attribute:\n 1-archive\n2-compressed\n3-directory\n4-hidden\n5-normal\n6-readonly\n7-system\n"); - //scanf("%d",&userChoice); - //setFileAttribute(userInput,userChoice); - - printf("CreateFile:\n"); - printf("Input path\n"); - //scanf("%260s",userInput); - // createFile(userInput); - - printf("WriteFile:\n"); - printf("Input path\n"); - //scanf("%260s",userInput); - char userMessage[1024]; - printf("Input text that you want write to file\n"); - //scanf("%1024s",userMessage); - //writeFile(userInput,userMessage); - - printf("ReadFile:\n"); - scanf("%260s",userInput); - readFile(userInput); - return 0; }