c - 如何在 C 中的 URL 中正确使用“&”?
问题描述
我想在包含一些“&”的 C 程序中调用一个 URL。系统只识别“&”之前的 URL(https://chart.googleapis.com/chart?cht=qr)并告诉我它不知道命令 cht 和 chl。我怎样才能让它使用整个 URL?
char get_qr[100];
sprintf (get_qr, "start https://chart.googleapis.com/chart?cht=qr&chs=500x500&chl=Hello World!);
system (get_qr);
解决方案
问题不在于 URL 处理,而在于您通过system
.
Shell 命令需要被shell 引用。特别是shell&
的特殊字符。所以在你的 shell 命令参数周围加上引号:
system("start \"https://chart.googleapis.com/chart?cht=qr&chs=500x500&chl=Hello World!\"");
(在您的代码中sprintf
无论如何都不需要。如果您的实际代码需要sprintf
,不要只分配静态缓冲区;分配正确大小的动态缓冲区!)
推荐阅读
- windows - 无法克隆 git 存储库
- jquery - Squarespace:在博客文章中添加 jquery 插件
- c# - isAlive 如何在此示例中不起作用
- excel - 当变量声明为 Double 时,for 循环中的 VBA 溢出错误
- opencart - 我应该在 opencart 中创建扩展、模块还是在 vqmode 中工作?
- python - PostgreSQL 服务器的 SQLAlchemy 过滤发生在哪里?(烧瓶-sqlalchemy)
- javascript - 我是否总是必须为每个表制作一个 Sequelize 模型文件?
- c# - 使用一种操作方法创建和更新记录
- python - NameError:名称“x_scalar”未定义
- android - 如何从适配器 kotlin 增加通知徽章的计数器