如何将intchar传递给system()一个Linux系统调用

如何将intchar传递给system()一个Linux系统调用,第1张

概述好吧,它可能听起来很愚蠢,但我无法想出一种方法将int / char传递给这个系统调用 这是我希望它如何工作 system ("cal %d %d", month, year); 我希望这会在终端“cal 3 2009”上给我以下命令 终端将向我显示2009年3月的日历. 但编译器抱怨它有太多的论点 有任何想法吗?我需要让这个方法系统(“cal”)给我一个动态日历. 注意:cal取参数cal月份年 好吧,它可能听起来很愚蠢,但我无法想出一种方法将int / char传递给这个系统调用

这是我希望它如何工作

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

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

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

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

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

注意:cal取参数cal月份年份

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

char cmd[64];snprintf(cmd,sizeof cmd,"cal %d %d",year);system(cmd);

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

总结

以上是内存溢出为你收集整理的如何将int / char传递给system()一个Linux系统调用全部内容,希望文章能够帮你解决如何将int / char传递给system()一个Linux系统调用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1021556.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存