当前位置:  开发笔记 > 运维 > 正文

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

如何解决《如何将int/char传递给system()Linux系统调用》经验,为你挑选了1个好方法。

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

这是我希望它如何工作

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

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

终端将向我显示2009年3月的日历.

但编译器抱怨它有太多的论点

有任何想法吗?我需要让这个方法system ("cal ")给我一个动态日历.

注意:cal接受论证cal month year



1> unwind..:

您需要构建正确的命令行字符串,system()不会为您执行此操作:

char cmd[64];

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

关于缓冲区溢出的常见警告适用,但在这种特殊情况下,当两个参数都是整数时,您应该相当安全.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有