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):
char cadena [] = "hola que tal";
// Desde i = 0 hasfta que 2 + i no sea el largo de la cadena.
for(int i
= 0; 2 + i
< strlen(cadena
); ++i
) {
// Va copiando en la posicion i , lo que hay dos posiciones mas adelante
// pues queremos eliminar dos caracteres.
cadena[i] = cadena[2+i];
}
// Al eliminar dos caracteres, el fin de cadena debe quedar en el largo de la
// cadena menos los dos caracteres que hemos eliminado.
cadena[12-2] = '\0';