Avatar ·

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