W3cubDocs

/Rust

Macro std::include_bytes

macro_rules! include_bytes {
    ($file:expr) => { ... };
    ($file:expr,) => { ... };
}

Includes a file as a reference to a byte array.

The file is located relative to the current file (similarly to how modules are found). The provided path is interpreted in a platform-specific way at compile time. So, for instance, an invocation with a Windows path containing backslashes \ would not compile correctly on Unix.

This macro will yield an expression of type &'static [u8; N] which is the contents of the file.

Examples

Assume there are two files in the same directory with the following contents:

File 'spanish.in':

adiós

File 'main.rs':

ⓘThis example is not tested
fn main() {
    let bytes = include_bytes!("spanish.in");
    assert_eq!(bytes, b"adi\xc3\xb3s\n");
    print!("{}", String::from_utf8_lossy(bytes));
}

Compiling 'main.rs' and running the resulting binary will print "adiós".

© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/macro.include_bytes.html