Estou começando a aprender C e estou fazendo um programa que recebe uma variavel char. Como delimitador eu estou utilizando o "/" e eu gostaria de dividir esse char em novos char.
Por exemplo:
recebo essa string: nome/idade/sexo/
e gostaria de dividir em 3 strings.
string1 = nome
string2 = idade
string3 = sexo
Nas minhas pesquisas encontrei os comandos STRCHR o STRCMP mas mesmo assim não consegui!
Vou postar o codigo que tentei fazer... mas está dando erro. Só falta conseguir comparar
o delimitador com a string! alguém poderia me ajudar?
Pergunta
Tiago Chan
Fala pessoal...
Estou começando a aprender C e estou fazendo um programa que recebe uma variavel char. Como delimitador eu estou utilizando o "/" e eu gostaria de dividir esse char em novos char.
Por exemplo:
recebo essa string: nome/idade/sexo/
e gostaria de dividir em 3 strings.
string1 = nome
string2 = idade
string3 = sexo
Nas minhas pesquisas encontrei os comandos STRCHR o STRCMP mas mesmo assim não consegui!
Vou postar o codigo que tentei fazer... mas está dando erro. Só falta conseguir comparar
o delimitador com a string! alguém poderia me ajudar?
Obrigado pessoal!
Abraços
Tiago
**********************************codigo*****************************
//VARIAVEL GLOBAL
char *lala, *lele, *lolo;
void carregaobra(void){
int cont1, cont2, cont3, cont4, auxilia, result;
char string[50], CHR[3];
char *prt, *prt2, c = '/';
lele = '/';
barra[0] = lele[0];
cont1 = 0;
cont2 = 0;
cont3 = 0;
cont4 = 0;
///////////LER ARQUIVO////////////////
printCom(3,"OPR OBRA.TXT");
ToCom(3,13);
printCom(3,"RD OBRA.TXT");
ToCom(3,13);
ReadComn(3,lala,25); //JOGA NA VARIAVEL LALA A STRING DO
//ARQUIVO TXT
printCom(3,"CLF OBRA.TXT");
ToCom(3,13);
/*////////////1ºMODO DE VERIFICACAO//////////////////////////
while (cont1 <= 25){
CHR[0] = lala[cont1];
if (CHR != '/'){
obra[cont1] = lala[cont1];
}
cont1++;
}
//////////////////////////////////////*/
/*//////////2º MODO USANDO STRCMP////////////////////////////
while (cont1 <= 25){
CHR[0] = lala[cont1];
result = strcmp(CHR, barra);
if (CHR[cont1] != barra){
obra[cont1] = lala[cont1];
}
cont1++;
}
//////////////////////////////////////*/
/*////////////3º MODO USANDO STRCHR//////////////////////////
strcpy(string,lala);
prt = strchr(string,c);
prt2 = prt - string;
auxilia = atoi(prt2);
if(prt){
while (cont1 <= auxilia){
obra[cont1] = string[cont1];
cont1++;
}
}
//////////////////////////////////////*/
}
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.