# NNS_McsOpenFile

## 構文

      #include <nnsys/mcs.h>

      u32 NNS_McsOpenFile(
              NNSMcsFile* pFile,
              const char* fileName,
              u32         openFlag);

## 引数

pFile | ファイル情報構造体へのポインタ。
fileName | 作成または開くファイルを指す、NULLで終わる文字列へのポインタを指定します。NULLを指定すると、パソコン側でファイルを選択するためのダイアログウィンドウが表示されます。
openFlag | ファイルの作成あるいは開く方法および読み書きの種類(詳細は下記を参照)。

## 返り値

ファイルのオープンに成功したら 0、 失敗したら 0以外の値を返します。返り値の詳細は説明を参照してください。

## 説明

PC上の既存のファイルのオープン、あるいは新規のファイルをオープンします。

openFlagで、ファイルの開く方法を指定します。

NNS_MCS_FILEIO_FLAG_READ | 読み込み用に既存のファイルを開きます。
NNS_MCS_FILEIO_FLAG_WRITE | 書き込み用に新規にファイルを作成してオープンします。既にファイルが存在する場合は一度消去されます。
NNS_MCS_FILEIO_FLAG_FORCE | NNS_MCS_FILEIO_FLAG_WRITEを指定していて、既にファイルが存在する場合に、ユーザーにファイルを上書きする旨の確認を行いません。このフラグが指定されていない場合で既にファイルが存在するときは、上書きするかどうかの確認のためのダイアログをパソコン側に表示します。
NNS_MCS_FILEIO_FLAG_INCENVVAR | fileNameで指定したファイル名文字列の中にパソコンの環境変数が含まれる場合にこのフラグを指定します。 環境変数は「%TWLSYSTEM_ROOT%\SourceTreeMap.txt」のように「%」で囲みます。
NNS_MCS_FILEIO_FLAG_CREATEDIR | NNS_MCS_FILEIO_FLAG_WRITEを指定してfileNameで指定したファイルを作成する際に、ファイルが置かれるディレクトリが存在しない場合にディレクトリを作成します。 ただし、NNS_MCS_FILEIO_FLAG_INCENVVARが指定されている場合で、fileNameで指定したファイル名文字列に含まれるパソコンの環境変数が実際には存在しない場合は、安全のためにディレクトリの作成は行わず、関数は失敗します。

返り値は次のいずれかの値をとります。

NNS_MCS_FILEIO_ERROR_SUCCESS (0) | 関数は成功しました。
NNS_MCS_FILEIO_ERROR_COMERROR | 通信エラーが発生しました。
NNS_MCS_FILEIO_ERROR_NOTCONNECT | mcsサーバと接続されていません。
NNS_MCS_FILEIO_ERROR_SERVERERROR | mcsサーバ側でファイル操作に基づくエラーが発生しました。このエラーコードはWin32システムのエラーコードであり、関数`NNS_McsGetServerErrorCode`で取得できます。

## 参照

`NNS_McsReadFile`, `NNS_McsWriteFile`, `NNS_McsCloseFile`

## 履歴

2008/06/20 環境変数をTWLSYSTEM_ROOTに変更。
2005/01/24 エラーコードについての説明を追加。
2004/10/28 フラグ NNS_MCS_FILEIO_FLAG_INCENVVAR の解説を追加した。
2004/07/01 初版