Ich habe Probleme, libc::stat
in Rust zu rufen. Ich habe dies:Datei-Argument in libc :: stat in Rust
extern crate libc;
use std::fs::File;
use std::os::unix::prelude::*;
use std::path::Path;
fn main() {
let p = Path::new("/");
let f = File::open(&p).unwrap();
let fd = f.as_raw_fd() as i8;
unsafe {
let mut stat: libc::stat = std::mem::zeroed();
if libc::stat(fd, &mut stat) >= 0 {
println!("{}", stat.st_blksize);
}
}
}
aber jetzt erhalte ich diesen Fehler: error: mismatched types: expected *const i8, found i8
ich keine Unterlagen darüber, wie das erste Argument Werke finden konnten. Nach dem Typ zu urteilen (i8
) dachte ich, es muss Dateideskriptor sein.
Hintergrund: ich durch „Advanced Programming in der UNIX-Umgebung“ ich zu lesen und wollen