小编Flu*_*ffy的帖子

为什么`std`模块未声明?

我正在尝试从中读取一个字符stdin,但我无法使其正常工作.在不同的程序中,我使用了这个完全相同的方法并且它有效.

let mut buffer = [0];
let _ = std::io::stdin().read(&mut buffer);
let a = buffer[0];
Run Code Online (Sandbox Code Playgroud)

编译它会出现此错误:

src/befunge.rs:220:17: 220:31 error: failed to resolve. Use of undeclared type or module `std::io` [E0433]
src/befunge.rs:220      let _ = std::io::stdin().read(&mut buffer);
Run Code Online (Sandbox Code Playgroud)

rust

11
推荐指数
1
解决办法
5296
查看次数

我可以使用字节数组并将其反序列化为结构吗?

我正在从套接字读取一系列字节,我需要将n个字节的每个段作为项目放在结构中.

use std::mem;

#[derive(Debug)]
struct Things {
    x: u8,
    y: u16,
}

fn main() {
    let array = [22 as u8, 76 as u8, 34 as u8];
    let foobar: Things;
    unsafe {
        foobar = mem::transmute::<[u8; 3], Things>(array);
    }

    println!("{:?}", foobar);

}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是24位foobar时的32位错误array.不应该foobar是24位(8 + 16 = 24)?

rust

8
推荐指数
1
解决办法
3137
查看次数

如何引用不安全块中使用的变量?

我试图从套接字读取4个字节,然后将这些字节转换为单个u32.

let mut length: u32 = 0;

// Transmute 4 byte array into u32
unsafe {
    let length = mem::transmute::<[u8; 4], u32>(buf); // buf is the 4 item array of u8 that the socket was read into
    println!("1: {:}", length);
}

println!("Length: {:}", length);
Run Code Online (Sandbox Code Playgroud)

但是,一旦在不安全块之外,长度的原始值为0.我怎么能绕过这个?

rust

5
推荐指数
2
解决办法
406
查看次数

在 Rust 中与 USB 设备接口?

我想弄清楚如何在 Rust 中与 USB 设备连接。有没有人有办法解决吗?我找到了一个名为 usb-rust 的软件包,但它已被弃用。

rust

5
推荐指数
1
解决办法
3083
查看次数

是否可以使用 for 循环迭代 golang 中返回的函数?

说我们有这个:

func foo() func() int {
    return func() {
        for i := range [0..10] {
            return i
        }
    }
}

func main() {
    for i := foo() {

    }
}
Run Code Online (Sandbox Code Playgroud)

我可以在不知道循环多少次的情况下在 for 循环中迭代返回的函数吗?

go

1
推荐指数
1
解决办法
5753
查看次数

标签 统计

rust ×4

go ×1