Poco::Path
ile çalışma Çok ilginç bir hatayla karşılaştım. (Windows) 'dirPoco :: Yol const wchar_t * ile derler ama beklenmedik şekilde davranır
#include <iostream>
#include <string>
#include <Poco/Path.h>
int main()
{
std::wstring a_path = L"c:\\temp";
//Poco::Path from_wstring(a_path); // ERROR: fails to compile, expected
Poco::Path from_wchar_t(a_path.c_str()); // compiles... unexpected
std::cout << from_wchar_t.toString() << std::endl;
return 0;
}
Fakat yukarıdaki programın çıktı:
c:
\ aşağıdaki kodu Bkz: \ tempyerine beklendiği ait
Poco::Path
belgelerini gözden geçirme std::wstring
'u (bu yüzden ilk yol başarısız oluyor) veya const wchar_t*
, yalnızca std::string
ve const char*
(her ikisi de UTF-8) bekliyor hiçbir kurucu göremiyorum.
const wchar_t*
ile nasıl derleniyor ve neden beklenmedik çıktı (yanlış yol)?
: Geçici bir çözüm ilgilenenler için
, şimdi UTF-8 dönüşüme bir UTF-16 kullanıyorum tüm POCO arabirimleri (hariç, belli ki, dönüşüm olanları UTF-8 dizeleri bekliyoruz. Gerekirse, herhangi bir dönüşüm dahili olarak halledilir. – Alex