¿Hay una función en la familia printf que devuelve una parte de la cadena?
Frecuentes
Visto 64 equipos
2
Me refiero a este uso:
sprintf_with_start_pos(out_variable, 3, "format_str %s %i etc...", var1, var2);
y dicha función debería retener la salida de retorno hasta que llegue a la posición 3. Sé que puedo crear este efecto haciendo mi propio búfer y luego copiarlo, pero me pregunto si hay un forro para esto.
1 Respuestas
2
prueba.c:
#include <stdio.h>
main() {
char* var1 = "1234567";
char buffer[50];
sprintf(buffer, "%s", &var1[2]);
printf("%s\n", buffer);
printf("%.3s\n", buffer);
}
Salida:
$ gcc test.c
$ ./a.out
34567
345
Respondido 08 Feb 14, 13:02
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas c printf or haz tu propia pregunta.
Posición 3 en qué sentido? ¿Quieres imprimir los primeros 3 caracteres? Eso se hace usando
%.3s
. - user529758¿A qué te refieres con retener la producción? - mockinterface
no, quiero imprimir desde el tercer carácter en adelante - rsk82
@rsk82 Entonces pasas
var1 + 3
a la función. - user529758..después de comprobar que hay al menos tres caracteres. - Martin James