_mkdir
, _wmkdir
Erstellt ein neues Verzeichnis.
Syntax
int _mkdir(
const char *dirname
);
int _wmkdir(
const wchar_t *dirname
);
Parameter
dirname
Der Pfad für ein neues Verzeichnis.
Rückgabewert
Jede dieser Funktionen gibt den Wert 0 zurück, wenn das neue Verzeichnis erstellt wurde. Bei einem Fehler gibt die Funktion -1 zurück und legt sie wie folgt fest errno
.
EEXIST
Das Verzeichnis wurde nicht erstellt, da es sich um dirname
den Namen einer vorhandenen Datei, eines Verzeichnisses oder geräts handelt.
ENOENT
Der Pfad wurde nicht gefunden.
Weitere Informationen zu diesen und anderen Rückgabecodes finden Sie unter , , _doserrno
, _sys_errlist
und _sys_nerr
.errno
Hinweise
Die _mkdir
Funktion erstellt ein neues Verzeichnis mit dem angegebenen dirname
. _mkdir
kann pro Aufruf nur ein neues Verzeichnis erstellen, weshalb nur die letzte Komponente von dirname
ein neues Verzeichnis benennen kann. _mkdir
übersetzt keine Pfadtrennzeichen. In Windows NT sind sowohl der umgekehrte Schrägstrich (\
) als auch der Schrägstrich (/
) gültige Pfadtrennzeichen in Zeichenzeichenfolgen in Laufzeitroutinen.
_wmkdir
ist eine Breitzeichenversion von _mkdir
. Das dirname
-Argument für _wmkdir
ist eine Breitzeichenfolge. _wmkdir
und _mkdir
verhalten sich andernfalls identisch.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Mapping generischer Textroutinen
Tchar.h -Routine |
_UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_tmkdir |
_mkdir |
_mkdir |
_wmkdir |
Anforderungen
Routine | Erforderlicher Header |
---|---|
_mkdir |
<direct.h> |
_wmkdir |
<direct.h> oder <wchar.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Libraries
Alle Versionen der C-Laufzeitbibliotheken.
Beispiel
// crt_makedir.c
#include <direct.h>
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
if( _mkdir( "\\testtmp" ) == 0 )
{
printf( "Directory '\\testtmp' was successfully created\n" );
system( "dir \\testtmp" );
if( _rmdir( "\\testtmp" ) == 0 )
printf( "Directory '\\testtmp' was successfully removed\n" );
else
printf( "Problem removing directory '\\testtmp'\n" );
}
else
printf( "Problem creating directory '\\testtmp'\n" );
}
Beispielausgabe
Directory '\testtmp' was successfully created
Volume in drive C has no label.
Volume Serial Number is E078-087A
Directory of C:\testtmp
02/12/2002 09:56a <DIR> .
02/12/2002 09:56a <DIR> ..
0 File(s) 0 bytes
2 Dir(s) 15,498,690,560 bytes free
Directory '\testtmp' was successfully removed