## Tcl8.6.2/Tk8.6.2 Documentation > Tcl C API, version 8.6.2 > GetCwd

### Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite3 Package Commands | TDBC Package Commands | tdbc::mysql Package Commands | tdbc::odbc Package Commands | tdbc::postgres Package Commands | tdbc::sqlite3 Package Commands | Thread Package Commands | Tcl C API | Tk C API | [incr Tcl] Package C API | TDBC Package C API

  NAME
    Tcl_GetCwd, Tcl_Chdir — manipulate the current working directory
  SYNOPSIS
    #include <tcl.h>
    char *
    Tcl_GetCwd(interp, bufferPtr)
    int
    Tcl_Chdir(path)
  ARGUMENTS
  DESCRIPTION
  KEYWORDS

### NAME

Tcl_GetCwd, Tcl_Chdir — manipulate the current working directory

### SYNOPSIS

#include <tcl.h>
char *
Tcl_GetCwd(interp, bufferPtr)
int
Tcl_Chdir(path)

### ARGUMENTS

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.

### DESCRIPTION

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.

### KEYWORDS

pwd
Copyright © 1998-1999 Scriptics Corporation