私はこのコードの動作に困惑しています。GetFileAttributesが無効な入力のためにFILE_ATTRIBUTE_DIRECTORYを返します
const char* file_name = "/ /";
auto attributes = GetFileAttributes(TEXT(file_name)); // same result without TEXT macro
if (attributes == INVALID_FILE_ATTRIBUTES)
{
//error
}
else if (attributes == FILE_ATTRIBUTE_DIRECTORY)
{
//directory
}
これは、ファイルまたはディレクトリの無効な名前ですので、私は、これはINVALID_FILE_ATTRIBUTESを返すことを期待します。 win20で動作するVS2015でコンパイルされます。 これはフォワードチャーのためでしょうか?そして、入力を検証するwinAPI関数がありますか?
おかげ
私のために '-1'を返します(失敗)。 –
ANSIまたはUnicode? TEXTマクロを使用する理由はありますか?確かにUnicodeに固執することができます。 –
* "これはファイルまたはディレクトリの無効な名前です" * - なぜですか?私にとって完全に有効なディレクトリ名のように見えます。 – IInspectable