Avatar ·

FFI के माध्यम से C-स्ट्रिंग (char*) को Rust String में और वापस कैसे बदलें?

सभी को नमस्ते! मैं Rust में एक छोटा प्रोग्राम लिख रहा हूँ जो FFI के माध्यम से C लाइब्रेरी का उपयोग करता है। C और Rust के बीच स्ट्रिंग्स को बदलने की समस्या का सामना करना पड़ा।\n\nमेरे पास एक C फंक्शन है जो `char*` लौटाता है:\n\n```c\n// C code\nchar* get_greeting(void) {\n return "Hello from C!";\n}\n```\n\nऔर दूसरा C फंक्शन जो `const char*` स्वीकार करता है:\n\n```c\nvoid print_message(const char* msg);\n```\n\nमैं उन्हें Rust से कॉल करने का प्रयास कर रहा हूँ:\n\n```rust\nextern "C" {\n fn get_greeting() -> *const c_char;\n fn print_message(msg: *const c_char);\n}\n\nfn main() {\n unsafe {\n // C-स्ट्रिंग प्राप्त करें\n let c_str = get_greeting();\n // *const c_char को Rust String में कैसे बदलें?\n \n // Rust स्ट्रिंग को C में भेजने का प्रयास करें\n let rust_string = String::from("Hel