2009-05-20 6 views
6

SetFileAttributes関数を使用してWindowsでファイル属性を設定する方法を知っています。 しかし、ネイティブのC/C++関数がこれを行うことができるのかどうか疑問に思っていますか?C/C++のネイティブ関数を使用してファイル属性を設定する

+0

"ネイティブC/C++関数"はおそらくあなたが求めているものではありません。 SetFileAttributes()はネイティブのC関数です。私はあなたがポータブルな、または標準化された機能を探していると思います。 – JesperE

+0

PerlやPythonなどのスクリプト言語の動機の1つは、普遍的なクロスプラットフォームではないものに対して、クロスプラットフォームAPIを提供するための最善の努力をすることです。 –

答えて

11

いいえありません。 Standard C++やStandard Cはそのような機能を指定していません。

これは、オペレーティングシステム間でこの領域に機能の共通点がほとんどないためです。たとえば、UNIXライクなオペレーティングシステムは「実行可能」属性を持ち、Windowsライクなオペレーティングシステムはファイル拡張子を使用して実行可能性を判断します。

4

UNIXでは、chmod関数の動作を模倣する_chmod関数があります。

4

「ネイティブ」の場合、C標準ライブラリでは「いいえ」を意味します。ファイル "属性"はOS固有の拡張であるため、標準の関数セットには表示されません。私たちがPOSIXに任せるならば、fchmodのような機能がありますが、Windowsのファイル属性と同じように表現されていないUNIXスタイルのファイルモードしか扱えません。

一般に、「おそらくSTANDARDがOSにのみ存在する場合、そうでない場合はいいえ」と言って、「OS-SPECIFICものを実行するSTANDARD関数/オブジェクトがありますか?

関連する問題