Thread: Changing file attributes?

  1. #1
    Unregistered
    Guest

    Lightbulb Changing file attributes?

    I would like to be able to change certain file attributes of existing files or set these file attributes before creating the the files from within my program. e.g. - the date of creation of a file.
    Can anybody point me in the right direction?

  2. #2
    Skunkmeister Stoned_Coder's Avatar
    Join Date
    Aug 2001
    Posts
    2,572
    from msdn
    Code:
    WIN32_FIND_DATA FileData; 
    HANDLE hSearch; 
    DWORD dwAttrs; 
    char szDirPath[] = "c:\\TEXTRO\\"; 
    char szNewPath[MAX_PATH]; 
    char szHome[MAX_PATH]; 
     
    BOOL fFinished = FALSE; 
     
    // Create a new directory. 
     
    if (!CreateDirectory(szDirPath, NULL)) 
    { 
        ErrorHandler("Couldn't create new directory."); 
    } 
     
    // Start searching for .TXT files in the current directory. 
     
    hSearch = FindFirstFile("*.txt", &FileData); 
    if (hSearch == INVALID_HANDLE_VALUE) 
    { 
        ErrorHandler("No .TXT files found."); 
    } 
     
    // Copy each .TXT file to the new directory 
    // and change it to read only, if not already. 
     
    while (!fFinished) 
    { 
        lstrcpy(szNewPath, szDirPath); 
        lstrcat(szNewPath, FileData.cFileName); 
        if (CopyFile(FileData.cFileName, szNewPath, FALSE))
        { 
            dwAttrs = GetFileAttributes(FileData.cFileName); 
            if (!(dwAttrs & FILE_ATTRIBUTE_READONLY)) 
            { 
                SetFileAttributes(szNewPath, 
                    dwAttrs | FILE_ATTRIBUTE_READONLY); 
            } 
        } 
        else 
        { 
            ErrorHandler("Couldn't copy file."); 
        } 
     
        if (!FindNextFile(hSearch, &FileData)) 
        {
            if (GetLastError() == ERROR_NO_MORE_FILES) 
            { 
                MessageBox(hwnd, "No more .TXT files.", 
                    "Search completed.", MB_OK); 
                fFinished = TRUE; 
            } 
            else 
            { 
                ErrorHandler("Couldn't find next file."); 
            } 
        }
    } 
     
    // Close the search handle. 
     
    if (!FindClose(hSearch)) 
    { 
        ErrorHandler("Couldn't close search handle."); 
    }
    Free the weed!! Class B to class C is not good enough!!
    And the FAQ is here :- http://faq.cprogramming.com/cgi-bin/smartfaq.cgi

  3. #3
    Registered User
    Join Date
    Jan 2002
    Posts
    5
    I'm a total noob in win c++ programming.. where is this code to be placed? does it matter? can I have it in the OnInitDialog or`?

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. sequential file program
    By needhelpbad in forum C Programming
    Replies: 80
    Last Post: 06-08-2008, 01:04 PM
  2. To find the memory leaks without using any tools
    By asadullah in forum C Programming
    Replies: 2
    Last Post: 05-12-2008, 07:54 AM
  3. Post...
    By maxorator in forum C++ Programming
    Replies: 12
    Last Post: 10-11-2005, 08:39 AM
  4. Dikumud
    By maxorator in forum C++ Programming
    Replies: 1
    Last Post: 10-01-2005, 06:39 AM
  5. Replies: 3
    Last Post: 03-04-2005, 02:46 PM