Relleno de caracteres.

03/08/2005 - 13:44 por Kapsule | Informe spam
Buenos días.

Alguien me puede decir como puedo rellener un CSTRING. Por ejemplo tengo:
CString demo;
demo = 10;

Y quedria dar formato de relleno por delante o por detras, "00010" o
"10000", con CSharp esta la opcion PadLeft y PadRight pero en VC no se como
aplicar dicho formato.

Un saludo.

Preguntas similare

Leer las respuestas

#1 Rodrigo Corral [MVP]
03/08/2005 - 16:47 | Informe spam
Lo suyo es que te derives una clase de CString, p.e. CStringEx y añadas los
metodos

CStringEx& CStringEx::PadRight(const TCHAR ch, int nNewLen)
// Pad string with trailing chars so that the length becomes nNewLen
{
int nLen = GetLength();
if (nNewLen > nLen)
*this += CString(ch, nNewLen - nLen);
return(*this);


}


CStringEx& CStringEx::PadLeft(const TCHAR ch, int nNewLen)
// Pad string with leading chars so that the length becomes nNewLen
{
int nLen = GetLength();
if (nNewLen > nLen)
Insert(CString(ch, nNewLen - nLen), 0);
return(*this);


}


Un saludo
Rodrigo Corral González [MVP]

FAQ de microsoft.public.es.vc++
http://rcorral.mvps.org
#2 Willser F. González C.
03/08/2005 - 16:50 | Informe spam
Para el relleno con ceros a la izquierda puede utilizar el
CString::Format(...) que funciona tal cual como el conocido printf(...).


CString l_csChain;

l_csChain.Format("%05d", 17); // Anteponer el Cero (0).


El resultado es l_csChain igual a "00017".

Para el relleno por la derecha no conozco ninguna propia de CString (a lo
mejor existe), pero creo que por ahora tendría que implementar su propia
función para que lo haga.

Willser F.


"Kapsule" escribió en el mensaje
news:
Mostrar la cita
Ads by Google
Search Busqueda sugerida