c - 如何在C中打开以file://开头的文件?
问题描述
我一直在用 C 语言开发一个fopen
用于打开和读取文件的库。在某些情况下,传入一个以 开头的文件路径file://
(例如file:///Users/<username>/Desktop/doc.txt
),即使它是机器上的有效文件,也fopen
无法打开该文件。
除了 之外,我还应该使用其他功能fopen
吗?如果没有,我应该如何编辑文件路径才能正确打开?
(要清楚,相同的路径传入没有file://
打开罚款)
解决方案
您只需要检查路径是否以“file://”开头,如果是,则从下一个字符开始传入字符串。
const char *prefix = "file://";
if (!strncmp(filename, prefix, strlen(prefix))) {
fp = fopen(filename + strlen(prefix), "r");
} else {
fp = fopen(filename, "r");
}
推荐阅读
- javascript - javascript的对象对象结果
- sql - SQL Server 中的计算字段
- perl - 使用 perl 脚本提取基本更改
- laravel - 如何在视图中打印数组对象数组的数据
- c# - 是否有类似 RequestLocal(如 ThreadLocal)的东西?
- algorithm - 给定一个字符串列表,打印字符串的所有组合,从每个组合中选择 1 个字符
- matlab - Matlab中的parfor:parfor中的变量无法分类
- r - R中的函数内的“错误:找不到函数”
- java - 库不能设置实施版本,而不指定其规范版本(Weblogic)
- ios - 是否可以发布使用 AdHoc 配置文件签名的应用程序(AppStore)?