ファイルをコピーする
BREW にはファイルをコピーする関数はありません。
以下のように、ファイルを読みとり、それを書き込むことでコピーします。
バージョン 4.0 以降
// src.txt を dst.txt にコピー SFXFile fin; SFXFile fout; SFXBinaryStreamReader reader; SFXBinaryStreamWriter writer; SFXBuffer buffer; if (fin.OpenReadOnly(SFXPath("/src.txt")) == SFERR_NO_ERROR) { // 読み込みファイルのオープンに成功した if (fout.OpenReadWrite(SFXPath("/dst.txt")) == SFERR_NO_ERROR) { // 書き込みファイルのオープンに成功した fin.GetStreamReader(1024, &reader); fout.GetStreamWriter(1024, &writer); UInt08 c; while (!reader.Ends()) { // ファイルの終端にくるまで buffer.SetSize(reader.GetReadableSize()); reader.Fetch(); reader.Read(&buffer); // 読み込み writer.Write(buffer); // 書き込み writer.Flush(); } fout.Close(); } fin.Close(); }
バージョン 3.0
// src.txt を dst.txt にコピー SFUFileStream fin; SFUFileStream fout; if (fin.Open("/src.txt", _OFM_READ) == SFERR_NO_ERROR) { // 読み込みファイルのオープンに成功した if (fout.Open("/dst.txt", _OFM_CREATE) == SFERR_NO_ERROR) { // 書き込みファイルのオープンに成功した AChar c; while (!fin.IsEOS()) { // ファイルの終端にくるまで fin >> c; // 1文字読み込み fout << c; // 1文字書き込む } fout.Close(); } fin.Close(); }
参照 SFXFile::OpenReadOnly | SFXFile::OpenReadWrite |
SFXFile::GetStreamReader | SFXFile::GetStreamWriter |
SFXStreamReader::GetReadableSize | SFXStreamReader::Fetch
SFXStreamReader::Read | SFXStreamWriter::Write
SFXStreamWriter::Flush