結論
use std::io::prelude::*;
use std::fs::File;
fn main() {
/* この辺で計算 */
let s = format!("filename_{:03}.txt", i );
let mut buffer = File::create(s).unwrap();
write!(buffer, "{:.04} {:.04} {:.04} {:.04}\n", t, x, y, z );
}
ファイルの書き出し
計算結果をファイルに書き出すためには,
s
をファイル名としてlet mut buffer = File::create(s).unwrap();
により出力ファイルを用意する.
既に同名のファイルが存在する場合には上書きされる (もとのデータは消去される).
あとはwrite!(buffer, 文字列)
により用意したバッファーに任意に書き込んでいけばよい.
本当は書き出し失敗用のエラーに対処するようにコードを書く必要がある (し, 上の例だとコンパイル時に警告される) が, 個人使用する上では必要性を感じないので, とりあえず放置してある. コードの可読性の方が大事.
数値出力のフォーマット
整数型の場合, "{}", i
とかしておけばよい. 桁数をそろえてゼロ埋めするには, 例えば"{:04}", i
で4桁になる.
実数型の場合, "{:.04}", t
で小数点以下4桁まで. 指数表記は"{:e}"
とか
"{:.03e}"
みたいな感じ.
コメント
コメントを投稿