Guest Frederico Cruz Postado Fevereiro 23, 2007 Denunciar Share Postado Fevereiro 23, 2007 tenhochar nome[50];nome="fred";preciso separar F......R......E......D em variaveis diferentes, alguém sabe como proceder ou se tem algum exemplo de codigo? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --pepelegal -- Postado Fevereiro 23, 2007 Denunciar Share Postado Fevereiro 23, 2007 veja se isso ajuda ;) . Qualquer problema volta a duvida.#include<stdio.h>char *separa(char *s){ int i=0, j=0; char *re = (char*)malloc(sizeof(char)*60); for(;;) { *(re + j) = *(s+i); i++; j++; *(re + j) = ' '; //coloque o que quiser aqui j++; if(*(s+i) == '\') break; } return re;}intmain(){ char *s = (char*)malloc(sizeof(char)*30); char r[60]; strcpy(s, "teste"); printf("%s\n", separa(s)); return 0;} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Felipe Pedroso Postado Fevereiro 23, 2007 Denunciar Share Postado Fevereiro 23, 2007 Como em C string não é nada além de um vetor de chars qual o objetivo de 'separar' os caracteres de uma String? Você poderia se explicar melhor?Se você quer acessar as letras individualmente tudo depende do jeito que seu string é declarado:Vetor estático:QUando se declara um vetor estático você deve utilizar o acesso por índices:char nome[50];nome = "Teste";//para acessar qualquer elemento é só acessar com o índiceprintf("%char",nome[0]); //isso irá resultar em 'T'printf("%char",nome[1]); //isso irá resultar em 'e'printf("%char",nome[2]); //isso irá resultar em 's'printf("%char",nome[3]); //isso irá resultar em 't'printf("%char",nome[4]); //isso irá resultar em 'e'[/codebox]Ponteiro:Você utiliza o operador * para acessar o conteudo e o 'índice' da letra que você quer acessar:[codebox]char *nome;//se julgar necessário fazer alguma função de alocação dinâmica de memória (malloc,calloc ou realloc)nome = "Teste";//para acessar qualquer elemento é só acessar com o índiceprintf("%char",*(nome+0)); //isso irá resultar em 'T'printf("%char",*(nome+1)); //isso irá resultar em 'e'printf("%char",*(nome+2)); //isso irá resultar em 's'printf("%char",*(nome+3)); //isso irá resultar em 't'printf("%char",*(nome+4)); //isso irá resultar em 'e' Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Bittencourt Muniz Postado Fevereiro 24, 2007 Denunciar Share Postado Fevereiro 24, 2007 Exatamente Felipe! Caso eu precise de um tutorial sobre strings em C para colocar aqui na sala, tenha certeza que seu tópico fará parte do tutorial \o/. Ótima sua explicação!Falows! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Frederico Cruz
tenho
char nome[50];
nome="fred";
preciso separar F......R......E......D em variaveis diferentes, alguém sabe como proceder ou se tem algum exemplo de codigo?
Link para o comentário
Compartilhar em outros sites
3 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.