Como converter uma string C (char*) para Rust String e vice-versa via FFI?
Olá a todos! Estou escrevendo um pequeno programa em Rust que usa uma biblioteca em C via FFI. Encontrei um problema com a conversão de strings entre C e Rust.
Eu tenho uma função C que retorna `char*`:
```c
// C code
char* get_greeting(void) {
return "Hello from C!";
}
```
E outra função C que aceita `const char*`:
```c
void print_message(const char* msg);
```
Estou tentando chamá-las a partir do Rust:
```rust
extern "C" {
fn get_greeting() -> *const c_char;
fn print_message(msg: *const c_char);
}
fn main() {
unsafe {
// Obtém a string C
let c_str = get_greeting();
// Como converter *const c_char para Rust String?
// Tentando passar uma string Rust para C
let rust_string = String::from("Hel