Chcę utworzyć kilka przykładowych programów, które zajmują się kodowaniem, a konkretnie chcę używać szerokie ciągi jak:Specyfikacja kodowania źródło charset w MSVC++, jak gcc „-finput-charset = CharSet”
wstring a=L"grüßen";
wstring b=L"שלום עולם!";
wstring c=L"中文";
Ponieważ są to przykładowe programy.
To jest absolutnie banalne z gcc, który traktuje kod źródłowy jako tekst zakodowany w UTF-8. Ale prosta kompilacja nie działa pod MSVC. Wiem, że mogę je kodować używając sekwencji ucieczki, ale wolałbym zachować je jako czytelny tekst.
Czy jest jakaś opcja, którą mogę określić jako przełącznik wiersza poleceń dla "cl", aby sprawić, żeby to działało? Jest jakaś komenda linia przełącznik jak gcc'c -finput-charset
Dzięki,
Jeśli nie, jak proponujesz zrobić tekst naturalne dla użytkownika?
Uwaga: dodawania BOM do pliku UTF-8 nie jest opcją, ponieważ staje się non-compilable przez inne kompilatory.
Uwaga2: muszę go do pracy w MSVC wersja> = 9 == VS 2008
realna odpowiedź: nie ma rozwiązania
To naprawdę zadziwiające MSVC++ nie ma takiej opcji kompilatora. Co za wstyd ... –
Sądzę, że chodziło o * określenie zestawu znaków ** pliku ** podczas zadawania tego pytania. * Zestaw znaków źródłowych * jest terminem w standardzie używanym do implementacji zdefiniowanego zestawu znaków używanych wewnętrznie przez kompilator. –
@PiotrDobrogost Przypuszczam, że Microsoft nie dogonił reszty świata, natywnie wspierając UTF-8 dla kompilacji i SDK, a także dodając tyle nieefektywności, kłopotów, zamieszania i nędzy w życiu programistów, którzy muszą umiędzynarodowić aplikacje Windows w świecie UTF-8. Ale zgaduję; nazywa się * biurokracją * i * motywem zysku * nad opieką lub troską o jakość. –