57 lines
1.3 KiB
Markdown
57 lines
1.3 KiB
Markdown
# Enumerate
|
|
|
|
枚举资源包中匹配指定模式的文件。
|
|
|
|
## 方法签名
|
|
|
|
```cpp
|
|
void Enumerate(const Containers::String& pattern, Containers::Array<Containers::String>& outFiles) const;
|
|
```
|
|
|
|
## 详细描述
|
|
|
|
枚举包内所有与给定模式匹配的文件路径,并将结果输出到 `outFiles` 数组中。当前实现会将 `outFiles` 清空后填入所有文件路径。
|
|
|
|
**注意**:当前实现不支持真正的通配符匹配,会返回包内所有文件的完整路径列表。
|
|
|
|
## 参数
|
|
|
|
| 参数名 | 类型 | 描述 |
|
|
|--------|------|------|
|
|
| `pattern` | `const Containers::String&` | 文件匹配模式(当前实现中未使用) |
|
|
| `outFiles` | `Containers::Array<Containers::String>&` | 输出参数,用于存放匹配的文件路径列表 |
|
|
|
|
## 返回值
|
|
|
|
无
|
|
|
|
## 示例
|
|
|
|
```cpp
|
|
ResourcePackage package;
|
|
package.Open("assets/resources.xcp");
|
|
|
|
Array<String> files;
|
|
|
|
// 枚举所有文件
|
|
package.Enumerate("*", files);
|
|
printf("Total files: %zu\n", files.Size());
|
|
|
|
for (const auto& file : files) {
|
|
printf(" - %s\n", file.CStr());
|
|
}
|
|
|
|
// 枚举特定类型的文件
|
|
package.Enumerate("*.png", files);
|
|
for (const auto& file : files) {
|
|
if (file.Find(".png") != String::InvalidPos) {
|
|
printf("Image: %s\n", file.CStr());
|
|
}
|
|
}
|
|
```
|
|
|
|
## 相关方法
|
|
|
|
- [Exists](exists.md) - 检查文件存在
|
|
- [Read](read.md) - 读取文件内容
|