libc-system

Crates.iolibc-system
lib.rslibc-system
version0.1.2
created_at2025-04-11 08:05:01.215921+00
updated_at2025-04-11 09:59:35.750442+00
descriptionSingle cross‑platform function, system, to execute a shell command and return its exit code
homepagehttps://github.com/cecton/libc-system
repositoryhttps://github.com/cecton/libc-system
max_upload_size
id1629459
size17,911
Cecile Tonglet (cecton)

documentation

https://docs.rs/libc-system

README

actions status crate version documentation dependencies status licenses

libc-system

libc-system provides a single cross‑platform function, [system], to execute a shell command and return its exit code.

Overview

  • On non‑Windows systems, it calls the C library’s system() function. The command is passed as a narrow (UTF‑8) null‑terminated C string.
  • On Windows, it calls the C runtime’s _wsystem() function. The command is converted from UTF‑8 to a wide (UTF‑16) string to properly handle non‑ASCII characters.

This crate lets you execute shell commands without having to worry about platform-specific differences.

Example

use libc_system::system;

let exit_code = system("echo Hello, World!");
println!("Exit code: {}", exit_code);

Platform-specific details

  • Windows: Uses _wsystem from the C runtime. The command is converted into a wide (UTF‑16) string.
  • Others: Uses system from libc. The command is converted into a narrow, null‑terminated string.
Commit count: 5

cargo fmt