Título: Remover primeros caracteres de una variable TCHAR Publicado por: el_doctor en 8 Diciembre 2014, 22:39 pm Hola no se si ya está este tema; bueno todavía me resulta difícil trabajar con este tipo de variable, cómo podría remover los primeros 4 caracteres de un tipo TCHAR.
Título: Re: Remover primeros caracteres de una variable TCHAR Publicado por: x64core en 8 Diciembre 2014, 23:25 pm Hola no se si ya está este tema; bueno todavía me resulta difícil trabajar con este tipo de variable, cómo podría remover los primeros 4 caracteres de un tipo TCHAR. TCHAR no puede ser de 4 bytes, como maximo de 2 (unicode).TCHAR MSDN: http://msdn.microsoft.com/en-us/library/office/cc842072%28v=office.15%29.aspx Título: Re: Remover primeros caracteres de una variable TCHAR Publicado por: avesudra en 8 Diciembre 2014, 23:41 pm TCHAR no puede ser de 4 bytes, como maximo de 2 (unicode). TCHAR MSDN: http://msdn.microsoft.com/en-us/library/office/cc842072%28v=office.15%29.aspx No entiendo x64Core, ¿dónde dice el_doctor que sea de cuatro bytes? , creo que leiste mal , pone 4 caracteres, o yo ando muy perdido en esto :( Hola no se si ya está este tema; bueno todavía me resulta difícil trabajar con este tipo de variable, cómo podría remover los primeros 4 caracteres de un tipo TCHAR. El tipo TCHAR es solo un typedef de char en las plataformas ANSI y DBCS, así que trabaja como ese tipo. Para quitar N caracteres simplemente copia los que quedarían si los eliminases en las primeras posiciones, es decir:
Es decir debes copiar en la primera posición el caracter que está N posiciones más delante mientras no supere el tamaño de la cadena, si no te dará un error de violación de acceso a la memoria. Una vez hecho eso debes terminar la cadena nueva en un caracter nulo, para ello al eliminar N caracteres, el caracter nulo estará ahora en el largo de la original menos los N caracteres eliminados, un ejemplo para dos caracteres sería (te toca a ti ponerlo como TCHAR): Código
Título: Re: Remover primeros caracteres de una variable TCHAR Publicado por: x64core en 8 Diciembre 2014, 23:51 pm No entiendo x64Core, ¿dónde dice el_doctor que sea de cuatro bytes? , creo que leiste mal , pone 4 caracteres, o yo ando muy perdido en esto :( En el enlace que deje dice que TCHAR puede ser un ANSI o UNICODE. eso facilita cuando uno quiere compilar, no hay necesidad de cambiar todas las cadenas de la aplicación a unicode o viceversa. Ahora acerca de la pregunta principal, el usuario dijo que tiene una variable de tipo TCHAR no un array asi que si el se referia a una cadena entonces la pregunta está mal formulada. - Acerca de los bytes eso depende de la plataforma cierto, solamente tome en cuenta lo más comun. Ahhh ya te entendí, cierto, pero no sé se intuye que si dice de 4 caracteres será un array ¿no? Sí, lo más probable.Un saludo. Título: Re: Remover primeros caracteres de una variable TCHAR Publicado por: el_doctor en 9 Diciembre 2014, 16:37 pm hola, gracias por la explicación y si la pregunta no la detalle lo suficiente mis disculpas; pero la intuición de avesudra era correcta, estoy modificando el valor de salida de la función GetModuleFileNameEx y es un tipo TCHAR; gracias por su explicación...
Título: Re: Remover primeros caracteres de una variable TCHAR Publicado por: Eternal Idol en 9 Diciembre 2014, 16:43 pm En realidad GetModuleFileNameEx no existe mas que como una macro que resuelve a GetModuleFileNameExA y GetModuleFileNameExW dependiendo de si el proyecto esta configurado para ANSI o Unicode.
|