これが私のコードです。
char BPP[5];
int result, err;
result = GetPrivateProfileStringA("abc", "cba", NULL, BPP, 5, "D:\\aefeaf.ini"); // result = 0
result = _get_errno(&err); // result = 0, err = 0
result = GetLastError(); // result = 0
MSDNからの説明:In the event the initialization file specified by lpFileName is not found, or contains invalid values, this function will set errorno with a value of '0x2' (File Not Found). To retrieve extended error information, call GetLastError.
最後のパラメータはランダムです。ファイルは存在しません。しかし、GetLastError() はまだ 0 を返します。なぜ 2 を返さなかったのか説明してもらえますか?
編集: @JochenKalmbach が示唆するように、プロジェクトが C++/CLI を使用していないことを確認します。そして @claptrap は、 errorno はタイプミス ( errnoである必要があります) であると述べました。上記のコードに _get_errno を追加します。それでも、すべてのエラー コードの戻り値は 0 です。どんな助けも大歓迎です。