Tcl_GetCwd(), Tcl_Chdir()

manipulate the current working directory 

Tcl Library Procedures


#include <tcl.h>

char * Tcl_GetCwd(interp, bufferPtr)

int Tcl_Chdir(path)


Tcl_Interp *interp (in) 

Interpreter in which to report an error, if any.

Tcl_DString *bufferPtr (in/out) 

This dynamic string is used to store the current working directory. At the time of the call it should be uninitialized or free. The caller must eventually call Tcl_DStringFree() to free up anything stored here.

char *path (in) 

File path in UTF-8 format.


These procedures may be used to manipulate the current working directory for the application. They provide C-level access to the same functionality as the Tcl pwd command.

Tcl_GetCwd() returns a pointer to a string specifying the current directory, or NULL if the current directory could not be determined. If NULL is returned, an error message is left in the interp's result. Storage for the result string is allocated in bufferPtr; the caller must call Tcl_DStringFree() when the result is no longer needed. The format of the path is UTF-8.

Tcl_Chdir() changes the applications current working directory to the value specified in path. The format of the passed in string must be UTF-8. The function returns -1 on error or 0 on success.


Windows 8.1. Windows Server 2012 R2. Windows 10. Windows Server 2016. Windows Server 2019. Windows 11. Windows Server 2022.


PTC MKS Toolkit for Professional Developers
PTC MKS Toolkit for Enterprise Developers
PTC MKS Toolkit for Enterprise Developers 64-Bit Edition

PTC MKS Toolkit 10.4 Documentation Build 39.