fgetws
Michal Grunt
michal.grunt na gmail.com
Pondělí Srpen 29 20:27:22 CEST 2022
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);
Další informace o konferenci Hw-list