cool Posted December 12, 2012 at 02:49 AM Report #486746 Posted December 12, 2012 at 02:49 AM Boa noite bloggers, estou a ter um pequeno grave problema. Estou a trabalhar com threads como já anteriormente referi 😛 e estou a ter um segm fault que não sei onde é. Sempre resolvi os meus usando gdb, mas como o mesmo aloca a sua própria memória ele passa aos testes sem se quer reparar no erro. Gostava de uma dica que me pudesse ajudar a superar isto. Obrigado a todos. Cool aka Pedro.
HappyHippyHippo Posted December 12, 2012 at 03:52 AM Report #486749 Posted December 12, 2012 at 03:52 AM só existe um método seguro de fazer debug a programas multi-thread/multi-processos : - saber o que estás a fazer - fazer muito, mas muito devagar - testar todas as pequenas alterações caso contrário, é uma dor de cabeça descomunal .... 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
cool Posted December 12, 2012 at 07:39 PM Author Report #486870 Posted December 12, 2012 at 07:39 PM Então e outra pergunta que nao tem a haver com este problema. Se eu tiver um path por exemplo /pasta/pasta1/ficheiro.txt, se eu quiser um algoritmo para numa str="/pasta/pasta1/" e a outra str1=ficheiro.txt, alguma ideia?
HappyHippyHippo Posted December 12, 2012 at 07:45 PM Report #486872 Posted December 12, 2012 at 07:45 PM código destrutivo da string original: char * path = "/pasta/pasta1/ficheiro.txt"; char * file = strrchr(path, "/"); file[0] = '\0'; file++; 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
cool Posted December 12, 2012 at 08:08 PM Author Report #486875 Posted December 12, 2012 at 08:08 PM void nome (const char *path, char** nome, char** dir){ char* aux; char* entra; strcpy(aux, path); while(strlen(aux)!=1){ strcat(&dir,strtok(aux, "/")); } strcpy(nome, aux); } Eu fiz algo deste género, que te parece?
HappyHippyHippo Posted December 12, 2012 at 08:15 PM Report #486876 Posted December 12, 2012 at 08:15 PM acho que - vai dar asneira da grossa - ainda não percebeste o funcionamento do strtok - isso parece dar um ciclo infinito 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
cool Posted December 12, 2012 at 08:34 PM Author Report #486878 Posted December 12, 2012 at 08:34 PM verdade verdadinha, já vi que nao era assim que se fazia 😛 . Vi mal,... deve ser algo deste genero: void nome (const char *path, char** nome, char** dir){ char* aux; char* entra; strcpy(aux, path); entra=strtok(aux, "/"); while(strlen(entra)!=1){ /*tenho duvidas desta linha, se funciona assim ou nao*/ strcat(&dir,(entra=strtok(NULL, "/"))); } strcpy(nome, aux); }
HappyHippyHippo Posted December 12, 2012 at 08:48 PM Report #486879 Posted December 12, 2012 at 08:48 PM código destrutivo da string original: char * path = "/pasta/pasta1/ficheiro.txt"; char * file = strrchr(path, "/"); file[0] = '\0'; file++; IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now