« first day (3236 days earlier)      last day (57 days later) » 

2:25 AM
XD
Buenas noches. Estoy haciendo un código en c que no se cual es el error:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define SIZE_CHAR(x) x
int main() {
char* s_format;
int mp_exponent=1;
char* out="1034 3203.234000 \"hola\" ";
int len=strlen(out)+1;
char* s_generic="314159265358979\n\0";
char* s_out=(char*)malloc(strlen(s_generic)+len);
strcpy(s_out,out);

s_format=(char*)malloc(SIZE_CHAR(21));
sprintf(s_format,"%%s%%s.%d,%%s ",(int)mp_exponent);
puts(s_format);
printf(
"Cadena original: %s\nEl caracter ultimo vale: %d y penultimo: %d y ante penultimo: %d",
Este es el resultado que dá;
%s%s.1,%s
Cadena original: 1034 3203.234000 "hola"
El caracter ultimo vale: 34 y penultimo: 32 y ante penultimo: 0Size: 24 y la cadena mide: 24
314159265358979


1034 3203.234000 "hola" 314159265358979
14159265358979
.1,@çüˆO
La ia dice que corrompo la variable s_out, pero solo lo asigno dos veces.
2:46 AM
Consegui el error. No quise dejarlo en el sitio principal porque pense que sería un error estupido, y efectivamente lo era. Me equivoque y coloqúe: %s.1 y era %.1s

« first day (3236 days earlier)      last day (57 days later) »