structure wchar_t

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

structure wchar_t

Message par gansta93 »

Bonjour,

Quelqu'un l'aurait-il ?
J'ai cherché partout dans le SDK, mais j'ai rien trouvé (que je comprenais en tout cas) pour savoir ce que contenait la structure wchar_t.

Merci d'avance.
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

wchar_t

The wchar_t keyword designates a wide-character type.


wchar_t identifier-name;
Parameters
identifier-name
Specifies a valid MIDL identifier. Valid MIDL identifiers consist of up to 31 alphanumeric and/or underscore characters and must start with an alphabetic or underscore character.
Return Values
This control code's function has no return values.
Remarks
The wchar_t type is defined by MIDL as an unsigned short (16-bit) data object.

The MIDL compiler allows redefinition of wchar_t, but only if it is consistent with the preceding definition.

The wide-character type is one of the predefined types of MIDL. The wide-character type can appear as a type specifier in const declarations, typedef declarations, general declarations, and function declarators (as a function return–type specifier and as a parameter-type specifier). For the context in which type specifiers appear, see Interface Definition (IDL) File.

The [string] attribute can be applied to a pointer or array of type wchar_t.

Use the L character before a character or a string constant to designate the wide character–type constant.
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Donc c'est un type, pas une structure... donc pas utilisable avec PB... :(
à moins que j'ai encore mal compris.
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message par filperj »

C'est un mot 16 bits non signé, apparament...
Donc ça correspond au type Word de PB, sauf que celui-ci est signé, il faut utiliser un masque pour les conversions et comparaisons.
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Merci pour la réponse :-D.
En fait je l'ai rencontré dans unrar.dll, quand j'ai voulu convertir le fichier .h en pb.
Voici ce que ça a donné, si ça peut mettre quelqu'un dans la certitude.

Code : Tout sélectionner

#ERAR_END_ARCHIVE = 10
#ERAR_NO_MEMORY = 11
#ERAR_BAD_DATA = 12
#ERAR_BAD_ARCHIVE = 13
#ERAR_UNKNOWN_FORMAT = 14
#ERAR_EOPEN = 15
#ERAR_ECREATE = 16
#ERAR_ECLOSE = 17
#ERAR_EREAD = 18
#ERAR_EWRITE = 19
#ERAR_SMALL_BUF = 20
#ERAR_UNKNOWN = 21
#RAR_OM_LIST = 0
#RAR_OM_EXTRACT = 1
#RAR_SKIP = 0
#RAR_TEST = 1
#RAR_EXTRACT = 2
#RAR_VOL_ASK = 0
#RAR_VOL_NOTIFY = 1
#RAR_DLL_VERSION = 4
Structure RARHeaderData
  ArcName.b[260]
  FileName.b[260]
  Flags.l
  PackSize.l
  UnpSize.l
  HostOS.l
  FileCRC.l
  FileTime.l
  UnpVer.l
  Method.l
  FileAttr.l
 *CmtBuf.b
  CmtBufSize.l
  CmtSize.l
  CmtState.l
EndStructure

Structure RARHeaderDataEx
  ArcName.b[1024]
  ArcNameW.wchar_t[1024]
  FileName.b[1024]
  FileNameW.wchar_t[1024]
  Flags.l
  PackSize.l
  PackSizeHigh.l
  UnpSize.l
  UnpSizeHigh.l
  HostOS.l
  FileCRC.l
  FileTime.l
  UnpVer.l
  Method.l
  FileAttr.l
 *CmtBuf.b
  CmtBufSize.l
  CmtSize.l
  CmtState.l
  Reserved.l[1024]
EndStructure

Structure RAROpenArchiveData
 *ArcName.b
  OpenMode.l
  OpenResult.l
 *CmtBuf.b
  CmtBufSize.l
  CmtSize.l
  CmtState.l
EndStructure

Structure RAROpenArchiveDataEx
 *ArcName.b
 *ArcNameW.wchar_t
  OpenMode.l
  OpenResult.l
 *CmtBuf.b
  CmtBufSize.l
  CmtSize.l
  CmtState.l
  Flags.l
  Reserved.l[32]
EndStructure
Dernière modification par gansta93 le sam. 14/janv./2006 19:21, modifié 1 fois.
KarLKoX
Messages : 1191
Inscription : jeu. 26/févr./2004 15:36
Localisation : France
Contact :

Message par KarLKoX »

Exacte, wchar_t n'est qu'un simple unsigned short donc il faudra utiliser un masque de bit ($FF & co).
"Qui baise trop bouffe un poil." P. Desproges
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Et donc je le remplace par quoi ? par .b ?
Et après pour avoir la valeure exacte je met"la_valeure&$ff" ?
Merci à vous. :-)
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message par filperj »

Tu remplace par ".w", et le masque c'est "$ffff".
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

filperj a écrit :Tu remplace par ".w", et le masque c'est "$ffff".
OK donc quand tu dis masque c &$ffff. merci :-D je vais pouvoir avancer maintenant.
Répondre