#libc #system #windows #run #wsystem

libc-system

Single cross‑platform function, system, to execute a shell command and return its exit code

2 releases

new 0.1.2 Apr 11, 2025
0.1.1 Apr 11, 2025
0.1.0 Apr 11, 2025

#123 in Windows APIs

47 downloads per month

MIT/Apache

7KB

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.

No runtime deps