<div dir="ltr">Jestli to neni tim, ze kodovani UTF-8 neni 16 bitove...<div>Viz: </div><div><a href="https://en.wikipedia.org/wiki/UTF-8">https://en.wikipedia.org/wiki/UTF-8</a><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 29, 2022 at 9:31 PM <<a href="mailto:spam@nagano.cz">spam@nagano.cz</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Pripadne mi podezrela kombinace wchar_t a utf8. Zkuste vyhodit vse 16bitove.<br>
L.<br>
<br>
<font color="#888888"><font color="#888888">Sent from </font><font color="#888888"><a href="https://goo.gl/ODgwBb" target="_blank">MailDroid</a></font></font><br><br>-----Original Message-----<br>From: Michal Grunt <<a href="mailto:michal.grunt@gmail.com" target="_blank">michal.grunt@gmail.com</a>><br>To: HW-news <<a href="mailto:hw-list@list.hw.cz" target="_blank">hw-list@list.hw.cz</a>><br>Sent: po, 29 srp 2022 20:27<br>Subject: fgetws<br><br></div>Jsem v koncích. Lámu si s tím hlavu už několik hodin. Po překladu (gcc
<br>
na RPi) a spuštění to hlásí chybu: Neoprávněný přístup do paměti
<br>
(SIGSEGV)
<br>

<br>
Havaruje to na fgetws...
<br>

<br>
Příkaz "mpc status | head -n 1" vrátí název stanice nebo interpreta a
<br>
to v UTF 8 formátu (diakritika).
<br>

<br>
Co dělám špatně? Zkoušel jsem nad tím i usilovně přemýšlet :-), ale
<br>
ani to nepomohlo. Metoda pokus omyl (co najdu po internetu) je také
<br>
selhala. Níže je uveden jeden z mnoha pokusů.
<br>

<br>
Blbý je, že se to ani nedá nějak pořádně debugovat nebo to neumím (na
<br>
RPi a přístup přes SSH na konzoli).
<br>

<br>
Děkuji
<br>
MG
<br>

<br>
#define BUF_LEN 255
<br>
static wchar_t szwBuffer[BUF_LEN];
<br>

<br>
setlocale(LC_CTYPE, "en.UTF-8");
<br>

<br>
fp = popen( "mpc status | head -n 1", "r");
<br>
if (fp == NULL) {
<br>
   printf("Failed to run command\n" );
<br>
   exit(1);
<br>
}
<br>

<br>
fwide(fp,1);
<br>
while (fgetws(szwBuffer, sizeof(szwBuffer)/sizeof(wchar_t), fp) !=
<br>
(wchar_t *)NULL);
<br>

<br>
wprintf( L"%s\n", szwBuffer);
<br>
_______________________________________________
<br>
HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a>
<br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>
<br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>
<br>
_______________________________________________<br>
HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote></div>