Avatar billede danielhep Nybegynder
23. august 2003 - 17:05 Der er 4 kommentarer og
1 løsning

file flags

Hey

når man opretter en fil i windows med fopen, er der så ikke en måde at sætte nogle flag på så filen ikke kan slettes f.eks, eller andre lig funktionaliteter ??

Mvh

Daniel
Avatar billede arne_v Ekspert
23. august 2003 - 17:10 #1
fopen er standard C og derfor er det begrænset hvad du kan.

Hvsi du bruger den Windows Specifikke funktion CreateFile, så kan
du angive en masse:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/createfile.asp

(og filen kan naturligvis senere bruges med standard C IO)
Avatar billede arne_v Ekspert
23. august 2003 - 17:12 #2
Næsten alle C compilere har en chmod funktion der kan ændre
protection på en fil.
Avatar billede danielhep Nybegynder
23. august 2003 - 17:13 #3
er det muligt at du kunne sætte en lille stump kode ind, jeg har ikke selv internet, jeg låner andres hele tiden.... ??

Mvh

Daniel
Avatar billede arne_v Ekspert
23. august 2003 - 17:17 #4
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/creating_and_opening_files.asp

har nogle eksempler:

Example: Open a File for Reading

The following code fragment uses CreateFile to open an existing file for reading. Note that ErrorHandler is a placeholder for a user-defined function that displays an error message and exits the code.

HANDLE hFile;

hFile = CreateFile("MYFILE.TXT",          // open MYFILE.TXT
                GENERIC_READ,              // open for reading
                FILE_SHARE_READ,          // share for reading
                NULL,                      // no security
                OPEN_EXISTING,            // existing file only
                FILE_ATTRIBUTE_NORMAL,    // normal file
                NULL);                    // no attr. template

if (hFile == INVALID_HANDLE_VALUE)
{
        ErrorHandler("Could not open file.");  // process error
}

In this case, CreateFile succeeds only if a file named Myfile.txt already exists in the current directory. An application should check the return value of CreateFile before attempting to use the handle to access the file. If an error occurs, the application should use the GetLastError function to get extended error information and respond accordingly.

Example: Open a File for Writing

The following code fragment uses CreateFile to create a new file and opens it for writing.

HANDLE hFile;

hFile = CreateFile("MYFILE.TXT",          // create MYFILE.TXT
            GENERIC_WRITE,                // open for writing
            0,                            // do not share
            NULL,                        // no security
            CREATE_ALWAYS,                // overwrite existing
            FILE_ATTRIBUTE_NORMAL |      // normal file
            FILE_FLAG_OVERLAPPED,        // asynchronous I/O
            NULL);                        // no attr. template

if (hFile == INVALID_HANDLE_VALUE)
{
    ErrorHandler("Could not open file.");  // process error
}
Avatar billede danielhep Nybegynder
23. august 2003 - 17:19 #5
jeg kigger på det..

Mvh

Daniel
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester