## Tcl8.6.17/Tk8.6.17 Documentation > Tcl C API > Translate

### 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_TranslateFileName — ファイル名を生来からの形式に変換し､我家ディレクトリーをチルド記号に置換える｡　 convert file name to native form and replace tilde with home directory
  SYNOPSIS
    #include <tcl.h>
    char *
    Tcl_TranslateFileName(interp, name, bufferPtr)
  引数 ARGUMENTS
    Tcl_Interp *interp (入力in)
    const char *name (入力in)
    Tcl_DString *bufferPtr (入出力in/out)
  説明 DESCRIPTION
  SEE ALSO
  KEYWORDS

### NAME

Tcl_TranslateFileName — ファイル名を生来からの形式に変換し､我家ディレクトリーをチルド記号に置換える｡　 convert file name to native form and replace tilde with home directory

### SYNOPSIS

#include <tcl.h>
char *
Tcl_TranslateFileName(interp, name, bufferPtr)

### 引数 ARGUMENTS

Tcl_Interp *interp (入力in)
  不都合があれば､そこに報告する解釈実行機能｡　 Interpreter in which to report an error, if any.

const char *name (入力in)
  ファイル名であって “~” で始まっているかもしれない｡　 File name, which may start with a “~”.

Tcl_DString *bufferPtr (入出力in/out)
  必要ならこの動的文字列は新しいファイル名の保存に使われる｡この呼出しでは､それは初期化されないか､解放されている｡呼出し者はここに保存したどのようなものも解放する為に最後には Tcl_DStringFree を呼ばねばならない｡　 If needed, this dynamic string is used to store the new file name. 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.

### 説明 DESCRIPTION

この便利な手続函数はファイル名をOS固有の形式に変換し､適切な符号系に変換されており､局所的OSに渡すに適している｡特に電網名前を固有の形式に変換し波形記号(チルダー)置換を行う｡ This utility procedure translates a file name to a platform-specific form which, after being converted to the appropriate encoding, is suitable for passing to the local operating system. In particular, it converts network names into native form and does tilde substitution.

しかし､新しい Tcl_FSGetNormalizedPath と Tcl_FSGetNativePath のお蔭でこの手続函数を使う必要はなくなった｡特に Tcl_FSGetNativePath は必要な全ての翻訳と符号変換を遂行し､仮想ファイル系を識別して､素早い繰返し呼出しの為に固有の結果を貯蔵する｡最後に Tcl_FSGetNativePath はその後に何も取り外しを要求しない｡ However, with the advent of the newer Tcl_FSGetNormalizedPath and Tcl_FSGetNativePath, there is no longer any need to use this procedure. In particular, Tcl_FSGetNativePath performs all the necessary translation and encoding conversion, is virtual-filesystem aware, and caches the native result for faster repeated calls. Finally Tcl_FSGetNativePath does not require you to free anything afterwards.

もし Tcl_TranslateFileName が波印(チルダー)置換か名前の翻訳をすませていると､それが生成した文字列を保有する為に *bufferPtr に於ける動的文字列を使用する｡ Tcl_TranslateFileName が非-NULL 結果を返した後､呼出し側は *bufferPtr 内に置いたどのような情報をも解放する為に最終的に Tcl_DStringFree を起動しなくてはならない｡呼出し側は Tcl_TranslateFileName が実際に文字列を使用したか否かを知る必要はない;Tcl_TranslateFileName はたとえ使用しなくても *bufferPtr を初期化する､それで Tcl_DStringFree の呼出しはどの場合にも安全である｡ If Tcl_TranslateFileName has to do tilde substitution or translate the name then it uses the dynamic string at *bufferPtr to hold the new string it generates. After Tcl_TranslateFileName returns a non-NULL result, the caller must eventually invoke Tcl_DStringFree to free any information placed in *bufferPtr. The caller need not know whether or not Tcl_TranslateFileName actually used the string; Tcl_TranslateFileName initializes *bufferPtr even if it does not use it, so the call to Tcl_DStringFree will be safe in either case.

もし､不都合が生じると(譬えば､与えられた名前の使用者が居ないとか) NULL が返され､不都合伝言文が解釈実行機能の結果として残される｡不都合が生じた時､Tcl_TranslateFileName はそれ自身の動的文字列を解放するので呼出し者は Tcl_DStringFree を呼ぶ必要はない｡ If an error occurs (e.g. because there was no user by the given name) then NULL is returned and an error message will be left in the interpreter's result. When an error occurs, Tcl_TranslateFileName frees the dynamic string itself so that the caller need not call Tcl_DStringFree.

呼出し側は､ Tcl_TranslateFileName が起動された時に解釈実行機能の結果が省略時設定の空値を有するようにすることが責務である｡ The caller is responsible for making sure that the interpreter's result has its default empty value when Tcl_TranslateFileName is invoked.

### SEE ALSO

filename

### KEYWORDS

file name, home directory, tilde, translate, user
Copyright © 1989-1993 The Regents of the University of California.
Copyright © 1994-1998 Sun Microsystems, Inc.