HIT_Braga Posted May 29, 2012 at 06:14 AM Report #458759 Posted May 29, 2012 at 06:14 AM (edited) Ajuda com sscanf: Tenho a seguinte string: char a[]="LAPTOP A#SERVER C#30"; char n1[20],n2[20]; int mts; sscanf(a,"%s#%s#%d",n1,n2,&mts); Não deveria separar a string pelos # ? ficaria: n1=LAPTOP A n2=SERVER C mts=30 RESOLVIDO: char a[]="LAPTOP A#SERVER C#30"; char id1[20]; char id2[20]; char tipo1[20]; char tipo2[20]; char mts[5]; //testmygrafo(); sscanf (a,"%[^'#']#%[^'#']#%[^'#'],%s",id1,id2,mts); sscanf(id1,"%s %s",tipo1,id1); sscanf(id2,"%s %s",tipo2,id2); //printf("%d\n",&mts); printf("%s",tipo1); printf("--- %s",id1); printf("%s",tipo2); printf("--- %s",id2); printf("%d",atoi(mts)); Se alguém tiver melhor solução, aceita-se de bom grado, do tipo só usando 1 sscanf. Edited May 29, 2012 at 12:16 PM by pmg adicionei LP ao GeSHi " Elogios não me elevam, ofensas não me rebaixam, sou o que sou e não o que acham! "
pmg Posted May 29, 2012 at 08:02 AM Report #458764 Posted May 29, 2012 at 08:02 AM Nova dúvida: novo tópico. Separar as dúvidas por temas torna a pesquisa mais eficiente e permite discussões mais alongadas em cada tópico sem se misturarem as coisas. O problema com o scanf() é que o especificador de conversão "%s" separa o input por espaços em branco. Se os tipos são um caracter podes fazer assim (atenção à inicialização dos ids para fazer o resultado de meter um caracter em id[0] ficar uma string) char a[] = "LAPTOP A#SERVER C#30"; char tipo1[20], tipo2[20]; char id1[20] = {0}, id2[20] = {0}; char mts[5]; if (sscanf(a, "%19s %c#%19s %c#%4s", tipo1, id1, tipo2, id2, mts) != 5) /* erro */; What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
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