Loading article…

コンピューターの世界では、名前の変更とは、ファイルの名前を変更することを指します。これは、 renやmvなどのシェル コマンドを使用して手動で行うことも、名前変更プロセスを自動化できるバッチ名前変更ソフトウェアを使用して行うこともできます。
実装
C標準ライブラリには、このアクションを実行するrenameという関数が用意されています。[1] C標準から拡張されたPOSIXでは、古い名前と新しい名前が異なるマウントされたファイルシステム上にある場合、 rename関数は失敗します。[2]
SQLでは、ステートメントCHANGE内の指定を使用して名前の変更が実行されますALTER TABLE。
アトミックな名前変更
POSIXでは、名前変更の呼び出しが成功した場合、現在のホストの観点からはアトミックであることが保証されます(つまり、別のプログラムは古い名前のファイルまたは新しい名前のファイルのいずれかのみを参照し、両方またはどちらも参照しません)。この特徴は、保存操作が中断された場合にファイルの内容が失われる可能性を回避するために、ファイルの保存操作中によく使用されます。
Windowsの C ライブラリの名前変更関数は、POSIX アトミック動作を実装していません。代わりに、宛先ファイルがすでに存在する場合は失敗します。ただし、Windows APIの他の呼び出しはアトミック動作を実装しています[引用が必要]。
参考文献
- ^ ISO/IEC 9899:1999 仕様(PDF)。p. 268、§ 7.19.4.2。
- ^ : ファイル名を変更する – The Open Groupの System Interfaces Reference、 The Single UNIX Specificaion、バージョン 4
