在CPP中列出给定目录下的UTF编码文件名,可以使用以下步骤:
#include <iostream>
#include <filesystem>
#include <codecvt>
void listUTF8Files(const std::string& directory) {
std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;
std::wstring wideDirectory = converter.from_bytes(directory);
for (const auto& entry : std::filesystem::directory_iterator(wideDirectory)) {
if (entry.is_regular_file()) {
std::wstring wideFilename = entry.path().filename();
std::string filename = converter.to_bytes(wideFilename);
std::cout << filename << std::endl;
}
}
}
int main() {
std::string directory = "目标目录的路径";
listUTF8Files(directory);
return 0;
}
这段代码使用了C++17中的std::filesystem库来遍历目录,并结合std::codecvt_utf8_utf16<wchar_t>来处理UTF-8和UTF-16之间的转换。通过调用listUTF8Files函数并传入目标目录的路径,即可列出该目录下的UTF编码文件名。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云