C++, Diakritika – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C++, Diakritika – C / C++ – Fórum – Programujte.comC++, Diakritika – C / C++ – Fórum – Programujte.com

 
Hledat
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Pergoly a střechy Brno

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Marky780
Duch
23. 2. 2021   #1
-
0
-

Zdravím,

mám problém s diakritikou při využití getenv("USERPROFILE"). V případě, že uživatelské jméno je např. Jiří Šetrný, tak dojde k problému. 

char* userpath = getenv("USERPROFILE");

Jakým způsobem by šel prosím tento problém vyřešit? 

Děkuji za odpovědi. :)

Nahlásit jako SPAM
IP: 91.228.45.–
gna
~ Anonymní uživatel
1422 příspěvků
23. 2. 2021   #2
-
0
-

K jakému problému a kde? Text je vždycky v nějakém kódování a může být potřeba ho patřičně převádět. Na Widows jsi typicky v situaci, kdy nějaké kódování používáš interně v programu, nějaké kódování používá systém a ještě jiné kódování používá třeba konzole.

Nahlásit jako SPAM
IP: 213.211.51.–
Marky780
Duch
23. 2. 2021   #3
-
0
-

#2 gna
Pomocí getenv zjišťuji aktuálního uživatele, abych mohl pomocí CopyFile nahrát textový soubor do příslušné složky (např. C:/Users/Jmeno/Zkouska). V projektu ve Visual studiu mám nastavenou vícebajtovou znakovou sadu. Jedná se tedy zatím jen o exe, které mi nahraje do složky txt soubor. Děkuji.

Nahlásit jako SPAM
IP: 91.228.45.–
gna
~ Anonymní uživatel
1422 příspěvků
23. 2. 2021   #4
-
0
-

Fajn, ale v čem je ten problém? Dovedu si představit, že nejde ta hodnota zkonvertovat do MBCS/SBCS a funkce getenv teda vrací špatnou hodnotu a pak je prostě nepoužitelná.

Nahlásit jako SPAM
IP: 213.211.51.–
Marky780
Duch
23. 2. 2021   #5
-
0
-

#4 gna
Problém je v tom, že mi getenv("USERPROFILE") nahraje do string proměnné toto: "C:/Users/Ji?? ?etrn?/Zkouska" místo "C:/Users/Jiří Šetrny/Zkouska".

Nahlásit jako SPAM
IP: 91.228.45.–
Řešení
gna
~ Anonymní uživatel
1422 příspěvků
23. 2. 2021   #6
-
0
-
Vyřešeno Nejlepší odpověď

To je to, co jsem popsal. Možná budeš mít víc štěstí s GetEnvironmentVariable. Jinak přejdi na Unicode.

Nahlásit jako SPAM
IP: 213.211.51.–
Marky780
Duch
24. 2. 2021   #7
-
0
-

#6 gna
GetEnvironmentVariable pomohl, děkuji za Váš čas.

Nahlásit jako SPAM
IP: 91.228.45.–
Zjistit počet nových příspěvků

Přidej příspěvek

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 29 hostů

Podobná vlákna

Diakritika — založil Milan

Diakritika — založil Marty_SVK

Diakritika — založil Dave-CZ

C++ diakritika — založil Patrik Bak

Diakritika — založil new_pope

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032021 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý