COLD_WAR
Power Member
Boas, estou aqui com um problema neste segmento de código, a questão é que eu preciso apenas os 12 primeiros caracteres de uma string interna do sistema:
String original: SIP/12345678-865f
String que pretendo: SIP/12345678
O problema é que nem sempre funciona e põe-me caracteres extra na string que nem sequer pertencem à string original, parece ser lixo que ele tem em memória:
String que me devolve: SIP/12345678! ou SIP/12345678$ , etc..
O que poderá estar aqui mal?
String original: SIP/12345678-865f
String que pretendo: SIP/12345678
O problema é que nem sempre funciona e põe-me caracteres extra na string que nem sequer pertencem à string original, parece ser lixo que ele tem em memória:
String que me devolve: SIP/12345678! ou SIP/12345678$ , etc..
O que poderá estar aqui mal?
Código:
char *new_channel=malloc(sizeof(new_channel));
char *buffer=malloc(sizeof(buffer));
char *dump=malloc(sizeof(c->name));
int tam;
dump = c->name;
strncpy(new_channel, dump, 12);
tam=strlen(new_channel);
printf ("****************************************************************\n");
printf ("%s %i\n", dump, tam);
printf ("****************************************************************\n");
ast_copy_string(workspace, new_channel, workspacelen);
*ret = workspace;
Última edição: