_chmod, _wchmod

Ändert die FILEBerechtigung Einstellungen.

int _chmod( 
   const char *filename,
   int pmode 
);
int _wchmod( 
   const wchar_t *filename,
   int pmode 
);

Parameter

  • filename
    Name der vorhandenen Datei.

  • pmode
    Einstellung für Berechtigungen für die Datei.

Rückgabewert

Diese Funktionen geben 0 zurück, wenn die Einstellung der Berechtigung erfolgreich geändert wurde.Ein Rückgabewert von 1 gibt Fehler an.Wenn die angegebene Datei nicht gefunden werden kann, wird errno zu ENOENTfestgelegt. Wenn ein Parameter nicht gültig ist, wird errno zu EINVALfestgelegt.

Hinweise

Die Funktion _chmod Änderungen, die die Einstellung für die Berechtigungen der Datei durch filenameangegeben hat*.* Die Einstellung für die Berechtigungen steuert den Lese- und Schreibzugriff auf die Datei.Der ganzzahlige Ausdruck pmode enthält eine oder beide der folgenden Manifesten Konstanten, definiert in SYS \ Stat.h.

  • _S_IWRITE
    Schreiben zulässig.

  • _S_IREAD
    Lesevorgänge zulässig.

  • _S_IREAD | _S_IWRITE
    Lese- und Schreibvorgänge nicht zulässig.

Wenn beide Konstanten angegeben sind, werden sie mit dem bitweisen Operator verknüpft ( OR|).Wenn die Schreibberechtigung nicht angegeben ist, ist die Datei schreibgeschützt.Beachten Sie, dass alle Dateien immer lesbar sind. Es ist nicht möglich, lesegeschützte Berechtigung zu gewähren.Daher sind die Modi _S_IWRITE und _S_IREAD | _S_IWRITE .

_wchmod ist eine Breitzeichen-Version von _chmod. filename das Argument zu _wchmod ist eine Zeichenfolge mit Breitzeichen._wchmod und _chmod verhalten sich ansonsten unterscheiden.

Diese Funktion überprüft seine Parameter.Wenn pmode keine Kombination von einer der Manifesten Konstanten oder einen Satz von Alternativen Konstanten enthält, ignoriert die Funktion einfach die.Wenn filenameNULLungültige Parameter ist, wird der Ereignishandler aufgerufen, wie in Parametervalidierungbeschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, wird errno zu EINVAL festgelegt, und die Funktion gibt -1 zurück.

Zuweisung generischer Textroutinen

Tchar.h-Routine

_UNICODE als auch _MBCS nicht definiert

_MBCS definieren

_UNICODE definiert

_tchmod

_chmod

_chmod

_wchmod

Anforderungen

Routine

Erforderlicher Header

Optionaler Header

_chmod

<io.h>

<sys/types.h> und <sys/stat.h> <errno.h>

_wchmod

<io.h> oder <wchar.h>

<sys/types.h> und <sys/stat.h> <errno.h>

Weitere Informationen finden Sie unter Kompatibilität Kompatibilität in der Einführung.

Beispiel

// crt_chmod.c
// This program uses _chmod to
// change the mode of a file to read-only.
// It then attempts to modify the file.
//

#include <sys/types.h>
#include <sys/stat.h>
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>

// Change the mode and report error or success 
void set_mode_and_report(char * filename, int mask)
{
   // Check for failure 
   if( _chmod( filename, mask ) == -1 )
   {
      // Determine cause of failure and report. 
      switch (errno)
      {
         case EINVAL:
            fprintf( stderr, "Invalid parameter to chmod.\n");
            break;
         case ENOENT:
            fprintf( stderr, "File %s not found\n", filename );
            break;
         default:
            // Should never be reached 
            fprintf( stderr, "Unexpected error in chmod.\n" );
       }
   }
   else
   {
      if (mask == _S_IREAD)
        printf( "Mode set to read-only\n" );
      else if (mask & _S_IWRITE)
        printf( "Mode set to read/write\n" );
   }
   fflush(stderr);
}

int main( void )
{ 

   // Create or append to a file. 
   system( "echo /* End of file */ >> crt_chmod.c_input" );

   // Set file mode to read-only: 
   set_mode_and_report("crt_chmod.c_input ", _S_IREAD );
   
   system( "echo /* End of file */ >> crt_chmod.c_input " );

   // Change back to read/write: 
   set_mode_and_report("crt_chmod.c_input ", _S_IWRITE );
 
   system( "echo /* End of file */ >> crt_chmod.c_input " ); 
} 
  Eine Textzeile. 
  Eine Textzeile. 
Modus als schreibgeschützt festgelegt
Zugriff wird verweigert.
Modus festgelegt auf den Lese-/Schreibzugriff

.NET Framework-Entsprechung

Siehe auch

Referenz

Datei-Behandlung

_access, _waccess

_create, _wcreat

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_open, _wopen

_stat, _wstat Funktionen