2
Rustにlibc::stat
を呼び出すのが苦労しています。私は最初の引数がどのように働くか上の任意のドキュメントを見つけることができませんでしたerror: mismatched types: expected *const i8, found i8
Rustのlibc :: statのファイル引数
:
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);
}
}
}
が、今、私はこのエラーが表示されます。私はこれを持っています。タイプ(i8
)から判断すると、ファイル記述子でなければならないと思っていました。
背景:私は、「UNIX環境での高度なプログラミング」を読んとstat
への最初の引数はC文字列としてファイルパスである代わりにC.