gpt4 book ai didi

c - 如何将 int/char 传递给 system() 一个 Linux 系统调用

转载 作者:IT王子 更新时间:2023-10-29 00:49:28 25 4
gpt4 key购买 nike

好吧,这听起来可能很愚蠢,但我想不出一种方法将 int/char 传递到这个系统调用中

这是我希望它的工作方式

system ("cal %d %d", month, year);

我希望这会在终端“cal 3 2009”上给我以下命令

终端会显示 2009 年 3 月的日历。

但是编译器提示它有太多参数

有什么想法吗?我需要让此方法 system ("cal ") 返回一个动态日历。

注意:cal取自变量cal month year

最佳答案

您需要构建正确的命令行字符串,system() 不会为您完成:

char cmd[64];

snprintf(cmd, sizeof cmd, "cal %d %d", month, year);
system(cmd);

关于 buffer overflow 的常见警告适用,尽管在这种特殊情况下,当两个参数都是整数时,您应该相当安全。

关于c - 如何将 int/char 传递给 system() 一个 Linux 系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/700546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com