رفتن به مطلب
مرجع رسمی سی‌پلاس‌پلاس ایران

g.taheri

کاربـــر عـــــادی
  • تعداد ارسال ها

    1
  • تاریخ عضویت

اعتبار در سایت

0 خوب

درباره g.taheri

  • تاریخ تولد تعیین نشده
  1. با سلام من میخوام چند فایلی که داخل فولدرم دارم رو تغییر نام بدم ، وقتی فایل ها زبانشون انگلیسی باشه مشکلی نیست قشنگ نامشون تغییر میده ولی وقتی به زبان های دیگه ای filename باشه درست تغییر نمیده ممنون میشم راهنمایی کنید . #include <iostream> #include <filesystem> #include <stdio.h> #include <windows.h> #include <thread> using namespace std; #ifdef _MSC_VER std::wstring ToUtf16(std::string str) { std::wstring ret; int len = MultiByteToWideChar(CP_UTF8, 0, str.c_str(), str.length(), NULL, 0); if (len > 0) { ret.resize(len); MultiByteToWideChar(CP_UTF8, 0, str.c_str(), str.length(), &ret[0], len); } return ret; } #endif int main() { const std::filesystem::directory_options options = ( std::filesystem::directory_options::follow_directory_symlink | std::filesystem::directory_options::skip_permission_denied ); try { for (const auto& dirEntry : std::filesystem::recursive_directory_iterator("C:\\folder", std::filesystem::directory_options(options))) { filesystem::path myfile(dirEntry.path().u8string()); string uft8path1 = dirEntry.path().u8string(); string uft8path3 = myfile.parent_path().u8string() + "/" + "renamed-" + myfile.filename().u8string(); _wrename( ToUtf16(uft8path1).c_str() , ToUtf16(uft8path3).c_str() ); std::cout << dirEntry.path().u8string() << std::endl; } } catch (std::filesystem::filesystem_error & fse) { std::cout << fse.what() << std::endl; } system("pause"); }
×
×
  • جدید...