繁体   English   中英

C:如何将 %20 转换为空格?

[英]C: How do I convert %20 to spaces?

我在为 GNU Coreutils shred程序编写图形前端时遇到了这个程序。 当用户拖入包含空格的文件时,例如my private data.docx ,GTK+ DND 服务将这些空格表示为%20 使用该示例,我将获得(对于文件名) my%20private&20data.docx 我需要将它们转换为空格字符,因为我使用来自stdio.hfopen function 。 fopen拒绝打开这样的文件名,因为它不将%20识别为空格的表示。

不,您不要用空格替换%20 您使用g_filename_from_uri将 URL 解码为文件名:

gchar *
g_filename_from_uri (const gchar *uri,
                     gchar **hostname,
                     GError **error);

因此使用

gchar *filename = g_filename_from_uri(uri, NULL, NULL);

最简单的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM