Secuencia de escape en una cadena
Publicado por MQuinteiro (3 intervenciones) el 05/09/2005 16:28:03
Hola a todos, me asalta una duda/problema a la hora de construir una cadena en C. Estoy utilizando gcc en linux.
Mi intención es crear una cadena con los siguientes caracteres 0x05, "1", "Hola".
Como toda la vida he creido realizo un
sprintf (s, "\x051Hola"); y para sorpresa mi sorpresa, me sale la cadena "QHola" (Q es el caracter 0x51)
añado un cero al caracter de escape de la siguiente forma:
sprintf (s, "\x0051Hola") y sigo teniendo como resultado "QHola"
le pongo tres 0 y sigue haciendo lo mismo. A mi entender la secuencia de escape es \xnn siendo nn el valor del caracter exadecimal, pero debo estar haciendo algo mal.
Alguna sujerencia?
Nota: sprintf(s, "\x05Hola") si funciona como se esperaba.
Mi intención es crear una cadena con los siguientes caracteres 0x05, "1", "Hola".
Como toda la vida he creido realizo un
sprintf (s, "\x051Hola"); y para sorpresa mi sorpresa, me sale la cadena "QHola" (Q es el caracter 0x51)
añado un cero al caracter de escape de la siguiente forma:
sprintf (s, "\x0051Hola") y sigo teniendo como resultado "QHola"
le pongo tres 0 y sigue haciendo lo mismo. A mi entender la secuencia de escape es \xnn siendo nn el valor del caracter exadecimal, pero debo estar haciendo algo mal.
Alguna sujerencia?
Nota: sprintf(s, "\x05Hola") si funciona como se esperaba.
Valora esta pregunta


0