MyDocument Text Write

MyDocument に TEXT FILE(utf8.txt) を作成します。

前田稔の超初心者のプログラム入門

プログラムの説明

  1. Windows Store では、クライアントが知らないうちにファイルにアクセスされるのを防ぐために、自由アクセス出来るフォルダーは限られているようです。
    Local Folder はアプリケーション間で相互に参照することは出来ませんが、Document Folder は参照が可能です。
    テキストを格納したファイル(utf8.txt)を MyPicture に保存するプログラムを作成します。
  2. Store Application の C++ Windows プロジェクト UWP(Universal Windows Platform) を作成します。
    プロジェクトの作成は XAML で図形を描画 を参照して下さい。
  3. MainPage.xaml.h に TextWrite(); 関数を宣言します。
        private:
            void TextWrite();
        };
    
  4. MainPage.xaml.cpp を修正して utf8.txt を保存(出力)します。
    using namespace concurrency; と using namespace Windows::Storage; を追加して下さい。
    Constructor から TextWritw(); 関数を呼び出します。
    TextWrite(); 関数では、ファイル(utf8.txt)に L"MyDocument\nWrite Test\nテキスト メッセージ" を書き出します。
    using namespace concurrency;
    using namespace Windows::Storage;
    
    MainPage::MainPage()
    {
        InitializeComponent();
        TextWrite();
    }
    
    void MainPage::TextWrite()
    {
    	StorageFolder^ folder = KnownFolders::PicturesLibrary;
        create_task(folder->CreateFileAsync(L"utf8.txt",
            CreationCollisionOption::ReplaceExisting)).then(
            [this](StorageFile^ file) 
        {
            return FileIO::WriteTextAsync(file, L"MyDocument\nWrite Test\nテキスト メッセージ");
        }).then([this](task previousTask) 
        {   try
            {   previousTask.get();  }
            catch (Platform::Exception^)
            {  }
        });
    }
    
  5. MyDocument にアクセスする為には manifest の設定が必要です。
    Package.appxmanifest をダブルクリックして、設定画面を表示します。
    機能タグから「ピクチャ ライブラリ」をチェックして下さい。
    本来なら「ドキュメントライブラリ」を使うべきなのでしょうが、設定画面にありません。

  6. フォルダーに utf8.txt ファイルが存在するときは、データが書き換えられます。
    存在しないときは、新たに "utf8.txt" が作成されます。
    文字コードは utf-8 の BOM 無しで書かれていました。

[MyDoc Read ↑] MyDoc Read

超初心者のプログラム入門(C/C++)