mktemp-rs

A thin wrapper around libc's mkstemps and mkdtemp


Keywords
tempfile, temp, mktemp, tempdir, mkstemp, rust, rust-library
Licenses
MIT/Apache-2.0

Documentation

mktemp-rs

A thin wrapper around libc's mkstemps and mkdtemp.

Quick Start (Documentation)

Cargo.toml:

name = "my-awesome-project"
version = "0.1.0"
authors = ["me"]

[dependencies]
+mktemp-rs = "0.1.0"

main.rs:

use std::fs;
use std::io::{Seek, SeekFrom, Read, Write};
use mktemp::TempFile;

fn readme() {
    let path;
    {
        let mut tf = TempFile::new("my-temp-file-", ".txt").expect("Failed to create tempfile");
        let mut buf = [0u8; 12];
        tf.write(b"Hello world!").expect("Failed to write to tempfile");
        tf.seek(SeekFrom::Start(0)).expect("Failed to seek in tempfile");
        tf.read(&mut buf).expect("Failed to read tempfile");
        assert_eq!(&buf, b"Hello world!");
        path = tf.path().to_string();
    }
    assert!(fs::metadata(&path).is_err());
}

mktemp-rs currently only support Unix platforms. As always, pull requests are welcome.

Tests

readme tests the example in this readme.

temp_dir tests various TempDir functions.

temp_file tests various TempFile functions.

Coding Style

Obey rustfmt and Rust 2018 conventions.

Contributing

Pull requests are always welcome. See TODO.

Versioning

This project adheres to Semantic Versioning.

Changes are documented in the Changelog.

See the tags on this repository for available releases.

Authors

See the list of contributors.

License

mktemp-rs is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.

Acknowledgments

  • mkstemp by William Orr for inspiration and code base.