Discussione:
Confronto fra tipi di stringa diversi
(troppo vecchio per rispondere)
tets
2016-04-02 14:51:33 UTC
Permalink
Ho due variabili che riesco a stampare con:
wprintf(L"print %S - %s\n", a, b);
ma quando li confronto non funziona:
strcmp(HardwareId, p)
come faccio a convertire o confrontare a e b?
f***@gmail.com
2016-04-02 16:50:35 UTC
Permalink
Post by tets
wprintf(L"print %S - %s\n", a, b);
strcmp(HardwareId, p)
come faccio a convertire o confrontare a e b?
Se ho capito..
Hai un array di wchar_t e vuoi convertirlo in array di char: per quello c'è
la funzione wcstombs().
Per confrontarli, una volta che hai una stringa "multibyte".. beh, spero tu
sappia cosa stai facendo, che ti sia letto bene come funzionano gli
encoding, perché se fai a occhio non vai da nessuna parte :)

Ciao!
Kan
2016-04-05 12:13:31 UTC
Permalink
Post by tets
wprintf(L"print %S - %s\n", a, b);
strcmp(HardwareId, p)
come faccio a convertire o confrontare a e b?
se a e b sono di tipo wchar_t*, come posso dedurre, puoi usare
l'equivalente wide string di strcmp, ossia wcscmp.

P.S.: invece di dire semplicemente "non funziona", il più delle volte ti
conviene scrivere il messaggio di errore del compilatore o l'errore di
runtime che ti viene restituito, o meglio ancora un codice minimale
compilabile che ti dà il problema, altrimenti tutti quelli che non hanno
la sfera di cristallo potrebbero non essere in grado di aiutarti.
Loading...