私はofstream
がWindows 7の隠しファイルで動作しないことに気付きました。ofstream Windows 7の隠しファイルで動作しません
ここにクイックテストコードがあります。ここで
#include <fstream>
#include <iostream>
#include <tchar.h>
#include <windows.h>
int main() {
{
std::ifstream file2(_T("c:\\a.txt"));
if (file2.is_open()) {
std::cout << "ifstream open" << std::endl;
} else {
std::cout << "ifstream not open!" << std::endl;
}
}
// SetFileAttributes(_T("c:\\a.txt"), FILE_ATTRIBUTE_NORMAL);
SetFileAttributes(_T("c:\\a.txt"), FILE_ATTRIBUTE_HIDDEN);
{
std::ofstream file(_T("c:\\a.txt"));
if (file.is_open()) {
std::cout << "ofstream open" << std::endl;
} else {
std::cout << "ofstream not open!" << std::endl;
}
}
getchar();
}
私はFILE_ATTRIBUTE_NORMAL
を使用していた場合、私は
ifstream open
ofstream not open!
を取得しています出力され、ofstream
が正常に開かれます。
私は管理者としてプログラムを実行しません。しかし、私は以下のリンカーオプションを使用します。ユーザーアカウント制御(UAC)を有効にためませんをオンにする必要が
我々は、管理者としてアプリケーションを起動していない場合は、重要です。 OSは、保護された代わりにC:\Users\yccheok\AppData\Local\VirtualStore\a.txt
に実際のファイルを書き込むのに役立ちますC:\
ofstream
はWindows 7の隠しファイルで失敗しますか?
"次のリンカーオプション"を使用していると言ったときに参照している7つのリンカーオプションはどれですか?それはなぜ重要だと思いますか?仮想店舗はこの質問に実際に関連していますか? –
情報を更新して、UACのNoを重要にする理由を理解できるようにします。 –
'ofstream'を開く前に' ifstream'を閉じようとしましたか? –