fgetws

spam na nagano.cz spam na nagano.cz
Pondělí Srpen 29 21:30:48 CEST 2022


Pripadne mi podezrela kombinace wchar_t a utf8. Zkuste vyhodit vse 16bitove.
L.

Sent from MailDroid

-----Original Message-----
From: Michal Grunt <michal.grunt na gmail.com>
To: HW-news <hw-list na list.hw.cz>
Sent: po, 29 srp 2022 20:27
Subject: fgetws

Jsem v koncích. Lámu si s tím hlavu už několik hodin. Po překladu (gcc
na RPi) a spuštění to hlásí chybu: Neoprávněný přístup do paměti
(SIGSEGV)

Havaruje to na fgetws...

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

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

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

Děkuji
MG

#define BUF_LEN 255
static wchar_t szwBuffer[BUF_LEN];

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

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

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

wprintf( L"%s\n", szwBuffer);
_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20220829/8be608ed/attachment.htm>


Další informace o konferenci Hw-list