init
This commit is contained in:
		
							parent
							
								
									47c7461ebf
								
							
						
					
					
						commit
						aa745dc403
					
				
							
								
								
									
										89
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,89 @@ | |||||||
|  | CMakeLists.txt.user | ||||||
|  | CMakeCache.txt | ||||||
|  | CMakeFiles | ||||||
|  | CMakeScripts | ||||||
|  | Testing | ||||||
|  | Makefile | ||||||
|  | cmake_install.cmake | ||||||
|  | install_manifest.txt | ||||||
|  | compile_commands.json | ||||||
|  | CTestTestfile.cmake | ||||||
|  | _deps | ||||||
|  | 
 | ||||||
|  | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider | ||||||
|  | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 | ||||||
|  | 
 | ||||||
|  | # User-specific stuff | ||||||
|  | .idea/**/workspace.xml | ||||||
|  | .idea/**/tasks.xml | ||||||
|  | .idea/**/usage.statistics.xml | ||||||
|  | .idea/**/dictionaries | ||||||
|  | .idea/**/shelf | ||||||
|  | 
 | ||||||
|  | # AWS User-specific | ||||||
|  | .idea/**/aws.xml | ||||||
|  | 
 | ||||||
|  | # Generated files | ||||||
|  | .idea/**/contentModel.xml | ||||||
|  | 
 | ||||||
|  | # Sensitive or high-churn files | ||||||
|  | .idea/**/dataSources/ | ||||||
|  | .idea/**/dataSources.ids | ||||||
|  | .idea/**/dataSources.local.xml | ||||||
|  | .idea/**/sqlDataSources.xml | ||||||
|  | .idea/**/dynamic.xml | ||||||
|  | .idea/**/uiDesigner.xml | ||||||
|  | .idea/**/dbnavigator.xml | ||||||
|  | 
 | ||||||
|  | # Gradle | ||||||
|  | .idea/**/gradle.xml | ||||||
|  | .idea/**/libraries | ||||||
|  | 
 | ||||||
|  | # Gradle and Maven with auto-import | ||||||
|  | # When using Gradle or Maven with auto-import, you should exclude module files, | ||||||
|  | # since they will be recreated, and may cause churn.  Uncomment if using | ||||||
|  | # auto-import. | ||||||
|  | # .idea/artifacts | ||||||
|  | # .idea/compiler.xml | ||||||
|  | # .idea/jarRepositories.xml | ||||||
|  | # .idea/modules.xml | ||||||
|  | # .idea/*.iml | ||||||
|  | # .idea/modules | ||||||
|  | # *.iml | ||||||
|  | # *.ipr | ||||||
|  | 
 | ||||||
|  | # CMake | ||||||
|  | cmake-build-*/ | ||||||
|  | 
 | ||||||
|  | # Mongo Explorer plugin | ||||||
|  | .idea/**/mongoSettings.xml | ||||||
|  | 
 | ||||||
|  | # File-based project format | ||||||
|  | *.iws | ||||||
|  | 
 | ||||||
|  | # IntelliJ | ||||||
|  | out/ | ||||||
|  | 
 | ||||||
|  | # mpeltonen/sbt-idea plugin | ||||||
|  | .idea_modules/ | ||||||
|  | 
 | ||||||
|  | # JIRA plugin | ||||||
|  | atlassian-ide-plugin.xml | ||||||
|  | 
 | ||||||
|  | # Cursive Clojure plugin | ||||||
|  | .idea/replstate.xml | ||||||
|  | 
 | ||||||
|  | # SonarLint plugin | ||||||
|  | .idea/sonarlint/ | ||||||
|  | 
 | ||||||
|  | # Crashlytics plugin (for Android Studio and IntelliJ) | ||||||
|  | com_crashlytics_export_strings.xml | ||||||
|  | crashlytics.properties | ||||||
|  | crashlytics-build.properties | ||||||
|  | fabric.properties | ||||||
|  | 
 | ||||||
|  | # Editor-based Rest Client | ||||||
|  | .idea/httpRequests | ||||||
|  | 
 | ||||||
|  | # Android studio 3.1+ serialized cache file | ||||||
|  | .idea/caches/build_file_checksums.ser | ||||||
							
								
								
									
										8
									
								
								.idea/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								.idea/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | |||||||
|  | # Default ignored files | ||||||
|  | /shelf/ | ||||||
|  | /workspace.xml | ||||||
|  | # Editor-based HTTP Client requests | ||||||
|  | /httpRequests/ | ||||||
|  | # Datasource local storage ignored files | ||||||
|  | /dataSources/ | ||||||
|  | /dataSources.local.xml | ||||||
							
								
								
									
										2
									
								
								.idea/lab1.iml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.idea/lab1.iml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <module classpath="CMake" type="CPP_MODULE" version="4" /> | ||||||
							
								
								
									
										4
									
								
								.idea/misc.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.idea/misc.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <project version="4"> | ||||||
|  |   <component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$" /> | ||||||
|  | </project> | ||||||
							
								
								
									
										8
									
								
								.idea/modules.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								.idea/modules.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <project version="4"> | ||||||
|  |   <component name="ProjectModuleManager"> | ||||||
|  |     <modules> | ||||||
|  |       <module fileurl="file://$PROJECT_DIR$/.idea/lab1.iml" filepath="$PROJECT_DIR$/.idea/lab1.iml" /> | ||||||
|  |     </modules> | ||||||
|  |   </component> | ||||||
|  | </project> | ||||||
							
								
								
									
										6
									
								
								.idea/vcs.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.idea/vcs.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <project version="4"> | ||||||
|  |   <component name="VcsDirectoryMappings"> | ||||||
|  |     <mapping directory="$PROJECT_DIR$" vcs="Git" /> | ||||||
|  |   </component> | ||||||
|  | </project> | ||||||
							
								
								
									
										6
									
								
								CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | |||||||
|  | cmake_minimum_required(VERSION 3.26) | ||||||
|  | project(lab1 C) | ||||||
|  | 
 | ||||||
|  | set(CMAKE_C_STANDARD 17) | ||||||
|  | 
 | ||||||
|  | add_executable(lab1 main.c) | ||||||
							
								
								
									
										186
									
								
								main.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										186
									
								
								main.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,186 @@ | |||||||
|  | #include <stdio.h> | ||||||
|  | #include <windows.h> | ||||||
|  | #include <tchar.h> | ||||||
|  | 
 | ||||||
|  | DWORD mydrives = 100; | ||||||
|  | char lpBuffer[100]; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | void GetLogicalDriveStringsMy(){ | ||||||
|  |     printf("\nGetLogicalDriveStrings\n"); | ||||||
|  |     DWORD test; | ||||||
|  |     int i; | ||||||
|  |     test = GetLogicalDriveStrings(mydrives, (LPWSTR)lpBuffer); | ||||||
|  |     if (test != 0) { | ||||||
|  |         printf("The logical drives of this machine are:\n"); | ||||||
|  |         for(i=0;i<100;i++) printf("%c", lpBuffer[i]); | ||||||
|  |         printf("\n"); | ||||||
|  |     } else printf("GetLogicalDriveStrings() is failed lor!!! Error code: %d\n", GetLastError()); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | void GetVolumeInformationMy(){ | ||||||
|  |     printf("\nGetVolumeInformation\n"); | ||||||
|  |     BOOL boolRValue; | ||||||
|  |     TCHAR wszVolumeName[MAX_PATH + 1]; | ||||||
|  |     DWORD dwVolumeSerialNumber; | ||||||
|  |     DWORD dwFileSystemFlags; | ||||||
|  |     TCHAR wszSystemName[MAX_PATH + 1]; | ||||||
|  |     boolRValue = GetVolumeInformation( | ||||||
|  |             "G:\\", //default to volume for current working directory
 | ||||||
|  |             wszVolumeName, | ||||||
|  |             MAX_PATH, | ||||||
|  |             &dwVolumeSerialNumber, | ||||||
|  |             NULL, //component max length
 | ||||||
|  |             &dwFileSystemFlags, | ||||||
|  |             wszSystemName, | ||||||
|  |             MAX_PATH | ||||||
|  |     ); | ||||||
|  | 
 | ||||||
|  |     printf("Volume name: %s\n", wszVolumeName); | ||||||
|  |     printf("Volume serial number: %lu\n", dwVolumeSerialNumber); | ||||||
|  |     printf("File system type: %s\n", wszSystemName); | ||||||
|  | 
 | ||||||
|  |     printf("File system characteristics:\n"); | ||||||
|  |     if(dwFileSystemFlags & FILE_SUPPORTS_ENCRYPTION){ | ||||||
|  |         printf("The file system supports encryption.\n"); | ||||||
|  |     } else { | ||||||
|  |         printf("The file system does not support encryption.\n"); | ||||||
|  |     } | ||||||
|  |     if(dwFileSystemFlags & FILE_PERSISTENT_ACLS){ | ||||||
|  |         printf("The volume preserves and enforces ACLs.\n"); | ||||||
|  |     } else { | ||||||
|  |         printf("The volume does not preserve and enforce ACLs.\n"); | ||||||
|  |     } | ||||||
|  |     if(dwFileSystemFlags & FILE_SUPPORTS_USN_JOURNAL){ | ||||||
|  |         printf("The volume supports update sequence number journals.\n"); | ||||||
|  |     } else { | ||||||
|  |         printf("The volume does not support update sequence number journals.\n"); | ||||||
|  |     } | ||||||
|  |     if(dwFileSystemFlags & FILE_SUPPORTS_EXTENDED_ATTRIBUTES){ | ||||||
|  |         printf("The volume supports extended attributes.\n"); | ||||||
|  |     } else { | ||||||
|  |         printf("The volume does not support extended attributes.\n"); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void GetFileSizeMy(){ | ||||||
|  |     printf("\nGetFileSize\n"); | ||||||
|  |     HANDLE hFile; | ||||||
|  |     TCHAR *szFileName = _TEXT("C:\\Users\\kail_\\CLionProjects\\lab1\\myFile.txt"); | ||||||
|  |     LARGE_INTEGER structLargeInt; | ||||||
|  |     hFile = CreateFile(szFileName, GENERIC_READ, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, (DWORD) NULL, NULL); | ||||||
|  | 
 | ||||||
|  |     if(hFile == INVALID_HANDLE_VALUE) { | ||||||
|  |         printf("Error no. %lu\n", GetLastError()); | ||||||
|  |         exit(EXIT_FAILURE); | ||||||
|  |     } | ||||||
|  |     else { | ||||||
|  |         GetFileSizeEx(hFile, &structLargeInt); | ||||||
|  |         printf("Size: %lld bytes.\n", structLargeInt.QuadPart); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void FindNextFileMy(){ | ||||||
|  |     printf("\nFindNextFile\n"); | ||||||
|  |     WIN32_FIND_DATA structWin32; | ||||||
|  |     HANDLE hSearch = FindFirstFile(_T("C:\\*"), &structWin32); | ||||||
|  |     printf("FirstFile\n"); | ||||||
|  |     _tprintf(_T("%s\n"), structWin32.cFileName); | ||||||
|  |     printf("\nNextFiles\n"); | ||||||
|  | 
 | ||||||
|  |     while (FindNextFile(hSearch, &structWin32)) { | ||||||
|  |         _tprintf(_T("%s\n"), structWin32.cFileName); | ||||||
|  |     } | ||||||
|  |     if (GetLastError() == ERROR_NO_MORE_FILES) { | ||||||
|  |         printf("No more files...\n"); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     FindClose(hSearch); | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void GetWindowsDirectoryMy() { | ||||||
|  |     printf("\nGetWindowsDirectory\n"); | ||||||
|  |     GetWindowsDirectory(lpBuffer, MAX_PATH); | ||||||
|  |     printf("Windows Directory\n%s", lpBuffer); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void CompareFileTimeMy() { | ||||||
|  |     printf("\n\nCompareFileTime\n"); | ||||||
|  |     TCHAR *szFirstName = _TEXT("C:\\Users\\kail_\\CLionProjects\\lab1\\myFile.txt"); | ||||||
|  |     TCHAR *szSecondName = _TEXT("C:\\Users\\kail_\\CLionProjects\\lab1\\move\\mySecondFile.txt"); | ||||||
|  |     HANDLE hFileFirst; | ||||||
|  |     HANDLE hFileSecond; | ||||||
|  |     hFileFirst = CreateFile(szFirstName, GENERIC_READ, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, (DWORD) NULL, NULL); | ||||||
|  |     hFileSecond = CreateFile(szSecondName, GENERIC_READ, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, (DWORD) NULL, NULL); | ||||||
|  |     struct _FILETIME *first; | ||||||
|  |     struct _FILETIME *second; | ||||||
|  |     GetFileTime(hFileFirst, first, NULL, NULL); | ||||||
|  |     GetFileTime(hFileSecond, second, NULL, NULL); | ||||||
|  |     int result = CompareFileTime(first, second); | ||||||
|  |     switch (result) { | ||||||
|  |         case -1: printf("First Older"); break; | ||||||
|  |         case 0: printf("Same"); break; | ||||||
|  |         case 1: printf("Second Older"); break; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void SetLocalTimeMy() { | ||||||
|  |     printf("\n\nSetLocalTime\n"); | ||||||
|  |     SYSTEMTIME time; | ||||||
|  |     GetLocalTime(&time); | ||||||
|  |     printf("Current Time: %02d.%02d.%d %02d:%02d\n", time.wDay, time.wMonth, time.wYear, time.wHour, time.wMinute); | ||||||
|  |     time.wDay = 11; | ||||||
|  |     time.wMonth = 6; | ||||||
|  |     printf("New Time: %02d.%02d.%d %02d:%02d\n", time.wDay, time.wMonth, time.wYear, time.wHour, time.wMinute); | ||||||
|  |     SetLocalTime(&time); | ||||||
|  |     GetLocalTime(&time); | ||||||
|  |     printf("New Current Time: %02d.%02d.%d %02d:%02d", time.wDay, time.wMonth, time.wYear, time.wHour, time.wMinute); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void SetFileAttributesMy(){ | ||||||
|  |     printf("\n\nCopyFile\n"); | ||||||
|  |     char *szSecondName = "C:\\Users\\kail_\\CLionProjects\\lab1\\copy\\myCopyFile.txt"; | ||||||
|  |     SetFileAttributes(szSecondName, 2); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void CreateFileMy(){ | ||||||
|  |     printf("\n\nCreateFile\n"); | ||||||
|  |     char *szSecondName = "C:\\Users\\kail_\\CLionProjects\\lab1\\newFile.txt"; | ||||||
|  |     CreateFile(szSecondName, GENERIC_READ, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS,  0, NULL); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void CopyFileMy() { | ||||||
|  |     printf("\n\nCopyFile\n"); | ||||||
|  |     char *szFirstName = "C:\\Users\\kail_\\CLionProjects\\lab1\\myFile.txt"; | ||||||
|  |     char *szSecondName = "C:\\Users\\kail_\\CLionProjects\\lab1\\copy\\myCopyFile.txt"; | ||||||
|  |     BOOL exist = FALSE; | ||||||
|  |     CopyFile(szFirstName, szSecondName, exist); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void MoveFileMy() { | ||||||
|  |     printf("\n\nMoveFile\n"); | ||||||
|  |     char *szFirstName = "C:\\Users\\kail_\\CLionProjects\\lab1\\mySecondFile.txt"; | ||||||
|  |     char *szSecondName = "C:\\Users\\kail_\\CLionProjects\\lab1\\move\\mySecondFile.txt"; | ||||||
|  |     MoveFile(szFirstName, szSecondName); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | int main() { | ||||||
|  | 
 | ||||||
|  | //    GetLogicalDriveStrings+, GetVolumeInformation+, GetFileSize+, FindNextFile+,
 | ||||||
|  | //    GetWindowsDirectory+, CompareFileTime+, SetLocalTime+, SetFileAttributes,
 | ||||||
|  | //    CreateFile+, CopyFile+, MoveFile+
 | ||||||
|  |     CopyFileMy(); | ||||||
|  |     MoveFileMy(); | ||||||
|  |     GetLogicalDriveStringsMy(); | ||||||
|  |     GetVolumeInformationMy(); | ||||||
|  |     GetFileSizeMy(); | ||||||
|  |     FindNextFileMy(); | ||||||
|  |     GetWindowsDirectoryMy(); | ||||||
|  |     CompareFileTimeMy(); | ||||||
|  |     SetLocalTimeMy(); | ||||||
|  |     CreateFileMy(); | ||||||
|  |     SetFileAttributesMy(); | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
							
								
								
									
										1457
									
								
								myFile.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1457
									
								
								myFile.txt
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										0
									
								
								mySecondFile.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								mySecondFile.txt
									
									
									
									
									
										Normal file
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user