テキストファイルの読み書きには、System::IO::StreamWriterとSystem::IO::StreamReaderを使います。スタックセマンティクスを用いています。
try { System::IO::StreamReader sr(L"C:TestTest.txt", System::Text::Encoding::UTF8); String^ line=nullptr; while ( (line=sr.ReadLine()) != nullptr ) { // lineに一行づつ読み込まれる } } catch ( System::IO::FileNotFoundException^ ) { // ファイルがない } catch ( System::Exception^ e ) { // それ以外のエラー }
上記の例はStreamReaderコンストラクタとReadLine()の例外処理を一つにまとめていますが、ちゃんと書く場合は、別々にしたほうがいいです。
try { String^ path = L"C:TestTest.txt"; System::IO::StreamWriter sw(path, false, System::Text::Encoding::UTF8); sw.WriteLine(L"あああ"); sw.WriteLine(L"いいい"); sw.WriteLine(L"ううう"); } catch ( System::Exception^ e ) { // エラー }
上記のStreamReaderもStreamWriterもスコープからはずれるとデストラクタが呼ばれ、ファイルを解放してくれます。 またUTF8で読み書きされます。