ذخیره سازی یونی کد در فایل YAML - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

ذخیره سازی یونی کد در فایل YAML

0 امتیاز
سلام.

قصد دارم اعداد 0 تا 9 فارسی را به صورت یونی کد در فایل yaml ذخیره و بازیابی کنم مستندات Opencv درست توصیح نداده که چطور باید همچین کاری را انجام بدیم.
سوال شده فروردین 22, 1396  بوسیله ی حبیب کاظمی (امتیاز 103)   7 12 15

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

سلام.

برای اینکار مجبور به تبدیل wstring به string و برعکس انجام بدید بقیه موارد هم تو سایت OpenCV توضیح داده شده.

	wstring s2ws(const std::string& str)
	{
		typedef std::codecvt_utf8<wchar_t> convert_typeX;
		std::wstring_convert<convert_typeX, wchar_t> converterX;

		return converterX.from_bytes(str);
	}

	string ws2s(const std::wstring& wstr)
	{
		typedef std::codecvt_utf8<wchar_t> convert_typeX;
		std::wstring_convert<convert_typeX, wchar_t> converterX;

		return converterX.to_bytes(wstr);
	}
const std::string file_name = R"(d:\test.yml)";
	cv::FileStorage fs(file_name, cv::FileStorage::WRITE);
	int label_count = 10;
	fs << "label_count" << label_count;

	for (int i = 0; i < label_count; i++) {
		string key = "label" + std::to_string(i);
		wstring value = L" ";
		value[0] = 1776 + i;

		fs <<  key << ws2s( value);
	}
	fs.release();


	cv::FileStorage fs2(file_name, cv::FileStorage::READ);
	int label_count2;
	fs2["label_count"] >> label_count2;

	for (int i = 0; i < label_count2; i++) {
		string key = "label" + std::to_string(i);
		string value;
		fs2[key] >> value;
		wstring s = s2ws(value);
		wcout <<  s << endl;
	}

 

پاسخ داده شده فروردین 22, 1396 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد خرداد 15, 1396 بوسیله ی حبیب کاظمی
...