Unix-system-calls-getcwd

提供:Dev Guides
移動先:案内検索

[top]#

[[File:]]

[[File:]]

|Web |This Site

  • 初心者向けのUnix *
  • 高度なUnix *

選択した読書

Copyright©2014 by finddevguides

  Home     References     Discussion Forums     About TP  

getcwd()-Unix、Linuxシステムコール

[[File:]] image :http://www.finddevguides.com/images/next.gif [next] image:http://www.finddevguides.com/add- this.gif [AddThisソーシャルブックマークボタン]

広告

NAME

getcwd-現在の作業ディレクトリを取得する

概要

/* *This page documents the getcwd(2) system call, which * is not defined in any user-space header files; you should *use getcwd(3) defined in <unistd.h> instead in applications. */ long getcwd(char *buf, unsigned long size);

説明

*getcwd* ()関数は、現在の作業ディレクトリの絶対パス名を、_buf_が指す配列(長さは_size_)にコピーします。

現在の絶対パス名が_size_要素よりも長いバッファーを必要とする場合、-1 *が返され、_errno_が *ERANGE に設定されます。アプリケーションはこのエラーをチェックし、必要に応じてより大きなバッファを割り当てる必要があります。

_buf_がNULLの場合、 getcwd ()の動作は未定義です。

返り値

*-1* 失敗した場合(たとえば、現在のディレクトリが読み取り不可の場合)、それに応じて_errno_が設定され、成功した場合は_buf_に格納されている文字数。 _buf_が指す配列の内容は、エラー時には未定義です。

この戻り値は、失敗すると NULL を返し、成功すると_buf_のアドレスを返す getcwd (3)ライブラリ関数とは異なることに注意してください。

エラー

Tag

説明

*ENOMEM*

ユーザーメモリをマップできない場合

*ENOENT*

ディレクトリが存在しない場合(つまり、 削除されました)

エラング

パスを保存するのに十分なスペースがない場合

*EFAULT*

コピー中にメモリアクセス違反が発生した場合

準拠

*getcwd* システムコールはLinux固有であり、移植性のために *getcwd* Cライブラリ関数を使用します。

関連項目

[[File:]] image :http://www.finddevguides.com/images/next.gif [next] [[File:]]

広告

  
Advertisements