title: libc crate doesn't provide sprintf on Windows
body: <p>I wrote a library in Rust that uses C formatting using the <code>sprintf</code> function provided by the libc crate. Everything works on macOS and Linux but it does not compile on Windows because the <code>sprintf</code> function does not exist.</p>
  
  <pre><code>extern crate libc;
  use libc::{c_char, c_double, sprintf};
  </code></pre>
  
  <pre><code>let c_resfmt: CString =
      CString::new(c_resfmt).expect("Couldn't convert to c_resfmt to CString ");
  let result_buffer: *mut c_char = CString::new("").expect("").into_raw();
  unsafe {
      sprintf(result_buffer, c_resfmt.as_ptr(), scaled_result as c_double);
      let formatted_result = CString::from_raw(result_buffer).into_string().unwrap();
      ptr_result.with_result_value(formatted_result);
  }
  </code></pre>
  
  <pre class="lang-none prettyprint-override"><code>error[E0432]: unresolved import `libc::sprintf`
    --&gt; src\stdf_helper\reader\mod.rs:12:13
     |
  12 | use libc::{ sprintf, c_char, c_double };
     |             ^^^^^^^
     |             |
     |             no `sprintf` in the root
     |             help: a similar name exists in the module: `isprint`
  </code></pre>
  
  <p>Is there a substitute or alternative name for this?</p>