BernardoDMK Postado Junho 8, 2011 Denunciar Share Postado Junho 8, 2011 (editado) -- Editado Dezembro 5, 2018 por BernardoDMK Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 CPP Postado Junho 10, 2011 Denunciar Share Postado Junho 10, 2011 Isso resolve uma parte do seu problema.O conceito vale pras vagas também.Boa sorte#include <stdlib.h>#include <string.h>#include <mem.h>int getFields(char *bufferIn, char campos[6][30]){ int countCommas = 0; int n, posicaoInicial = 0; for (n = 0; n < strlen(bufferIn); n++) if (bufferIn[n] == ',' || bufferIn[n+1] == 0) { memset(campos[countCommas], 0, 30); // preenche o campo com zeros memcpy(campos[countCommas], bufferIn + posicaoInicial, (bufferIn[n+1] == 0 ? n+1 : n)- posicaoInicial); // copia parte do bufferIn para o campo especifico posicaoInicial = n + 1; countCommas++; } if (countCommas < 6) return 1; // erro, tem que ter 6 campos return 0;}void main(void){ char *veic = "TJB9312,9BWCA11,850,1.5,3.2,2.1"; char camposVeic[6][30]; if (getFields(veic, camposVeic) == 0) { for (int n = 0; n < 6; n++) printf("campo[%d] = %s\n", n, camposVeic[n]); } else printf("Erro: Numero de campos esperado inconsistente\n");}[/codebox] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 BernardoDMK Postado Junho 16, 2011 Autor Denunciar Share Postado Junho 16, 2011 (editado) -- Editado Dezembro 5, 2018 por BernardoDMK -- Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
BernardoDMK
--
Editado por BernardoDMKLink para o comentário
Compartilhar em outros sites
2 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.