tengo cantidades monetarias en string y quiero agregarles en su debido lugar un caracter espeficio como son comas y puntos pero no me explota el programa cuando lo corro
pior que seria eso ?
El programa revienta porque no reservas memoria para la cadena resultante (1) y eso se manifiesta cuando tratas de escribir en NULL (2):pior que seria eso ?
Código
Indicas que tratas de agregar comas Y puntos pero el fragmento de código sugiere que los puntos ya se agregaron, mejor aclara esa parte.
char *szTemp1 = NULL; /* 1 */ /* ... */
Si la cadena no contiene la parte decimal (".00" solo es ornato) una forma de agregarlos (sin validaciones y asumiendo la cadena de entrada contiene al menos un dígito) es:
Código
char *addComma(char const *str) { size_t i; char *p; char *q; while (1){ *q++ = *str++; if (--i == 0) break; else if (i % 3 == 0) *q++ = ','; } return p; }
Un saludo