====== テキストファイルの読み書き ======
テキストファイルの読み書きには、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で読み書きされます。