如何从C安全地转义字符串

如何从C安全地转义字符串,第1张

概述我正在编写一个简单的程序来浏览本地网络,并使用“system”将文件名传递给mplayer.但是,有时文件名包含空格或引号.显然,我可以编写自己的函数来逃避这些,但我不确定哪些角色需要或不需要转义.CRT或linux头文件中是否有一个函数可以安全地转义字符串以传递给命令行?最佳答案没有一种解决方案可以在任何地方使用,因为不同的shell对特殊字符是什么以及如

我正在编写一个简单的程序来浏览本地网络,并使用“system”将文件名传递给mplayer.但是,有时文件名包含空格或引号.
显然,我可以编写自己的函数来逃避这些,但我不确定哪些角色需要或不需要转义.

CRT或linux头文件中是否有一个函数可以安全地转义字符串以传递给命令行?最佳答案没有一种解决方案可以在任何地方使用,因为不同的shell对特殊字符是什么以及如何解释它们有不同的想法.对于bash,你可以用””’替换文件名中的每个单引号后用单引号包围整个文件名(第一个单引号停止顺序,“’”将文字单引号附加到字符串,最后的单引号再次启动引用的序列).更好的解决方案是找到一种在不使用系统的情况下调用程序的方法,例如使用带有一个exec函数的fork,这样就没有shell插值. 总结

以上是内存溢出为你收集整理的如何从C安全地转义字符串全部内容,希望文章能够帮你解决如何从C安全地转义字符串所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存