Recibo un búfer de char * que tienen la longitud de 10. Pero quiero concat la totalidad del contenido de mi estructura que tiene una variable char *.Cómo concat dos char * en C?
typedef struct{
char *buffer;
//..
}file_entry;
file_entry real[128];
int fs_write(char *buffer, int size, int file) {
//every time this function is called buffer have 10 of lenght only
// I want to concat the whole text in my char* in my struct
}
Algo como esto:
real[i].buffer += buffer;
¿Cómo puedo hacer esto en C?
Siempre use 'strncat' (también incluido en el enlace de arriba) y no' strcat'. – pickypg
siempre? Eso parece un poco torpe. "Ten cuidado" siempre es un buen consejo, estoy de acuerdo con eso. Aquí hay una pregunta y algunas respuestas sobre cuándo usar cada una: http://stackoverflow.com/questions/6491038/strcat-vs-strncat-when-should-which-function-be -used –
Si no sabes por qué eres usando 'strcat', que se debe a que los dos búferes están bajo garantías predeterminadas, entonces siempre debe usar' strncat'. Alguien que comienza en C siempre estará mejor usando 'strncat' que' strcat' simplemente porque el riesgo no vale la pena la recompensa imperceptible. Teniendo en cuenta cuál es en realidad el beneficio, incluso diría que nunca se beneficiará realmente a menos que esté escribiendo algo de un nivel increíblemente bajo y ya se hayan realizado los controles de requisitos previos. – pickypg