Wie konvertiere ich Vec<T> in ein Array [T; N] in Rust?
Hallo zusammen! Ich bin neu in Rust und habe ein Problem bei der Arbeit mit Vektoren und Arrays. Ich schreibe einen kleinen Parser, bei dem ich aus einem Vektor ein festes Array mit 4 Elementen erhalten muss. Ich habe ein `Vec`, das ich nach dem Lesen von Daten aus einer Datei erhalte, und ich möchte es in `[u8; 4]` konvertieren, um es an eine Funktion zu übergeben, die ein Array fester Länge erwartet.
Hier ist mein Code:
```rust
fn process_data(data: [u8; 4]) {
println!("{:?}", data);
}
fn main() {
let vec: Vec = vec![10, 20, 30, 40];
// Wie konvertiere ich vec in [u8; 4]?
// process_data(vec); // kompiliert nicht: expected array `[u8; 4]`, found struct `Vec`
}
```
Ich habe versucht, `vec.as_slice()` zu verwenden, aber das gibt `&[u8]` zurück, nicht `[u8; 4]`. Ich habe versucht, es mit `vec.into_iter().collect()` zu casten, aber collect
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs