concatenar apenas 1 caracter por vez dentro do for

1. concatenar apenas 1 caracter por vez dentro do for

Daniel
danielcrvg

(usa Slackware)

Enviado em 08/02/2014 - 18:35h

Eai galera blz??

entao to colocando aqui um exemplo da parte do codigo q to tentando fazer é o seguinte:

vamos supor:

[code]
chat vet[100] = "LOUCO";
char vet2[100];
int i = 0;

strcpy(vet2, vet); //copiei "LOUCO" para dentro da vet2;

for (i=0; i<7; i++) {

strncap(vet2, vet[i], 1); // aqui eu to tentando ir contatenando apenas o caracter apontado pela posicao "i", 1 de cada vez..

// tipo aqui dentro desse bloco do for eu quero copiar caracter por vez, pra fica assim dentro da variavel: LOUCOLOUCOLO , tipo nao copiou todos os caracteres, parou no "LO" saco??

}

o erro q ta dando é tipo aqueles que o tipo espera um char, e ta vindo um inteiro.. como se tivesse q converter pra char, mas eu to apontando para o conteudo dentro da posicao [i] e nao pra posicao "i"..


se puderem ajudar eu agradeco.. abracao

[\code]
att

daniel


  


2. Re: concatenar apenas 1 caracter por vez dentro do for

Daniel
danielcrvg

(usa Slackware)

Enviado em 08/02/2014 - 18:59h

eu tentei fazer assim tb mas nao deu:


[code]
char c;

for (i=0; i<7; i++) {

c = vet[i];

strncat(vet2,c,1);


}

[\code]


3. Re: concatenar apenas 1 caracter por vez dentro do for

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 08/02/2014 - 20:01h


#define container_length (10)

int main ( void )
{
char pch_word [] = {"louco"};
char container [sizeof(pch_word) * container_length] = {""};

for ( int i = 0 ; i < sizeof(container) ; i += sizeof(pch_word) - 1 )
for ( int j = 0 ; j < sizeof(pch_word) ; j++ )
container[i + j] = pch_word[j];

return 0;
}



4. Re: concatenar apenas 1 caracter por vez dentro do for

Daniel
danielcrvg

(usa Slackware)

Enviado em 09/02/2014 - 05:00h

cara antes de mais nada muito obrigado por ter respondido...

nao entendi algumas coisas do seu codigo, mas tudo bem vou analisar..

ja vi que tenho muito a estudar, principalmente em linguagem c... ja vi q sou um [*****] mesmo, mas valeu depois vo da uma anlisada com calma..


abraco,

daniel


5. Re: concatenar apenas 1 caracter por vez dentro do for

???
gokernel

(usa Linux Mint)

Enviado em 10/02/2014 - 15:34h


Em minha opiniao usar funções para concatenar "string" principalmente dentro de um loop acho muito lento...

Lembrando que para chamar uma função o processador precisa fazer algumas coisitas(em assembly) como:
01 - Salvar a pilha.
02 - Setar os parâmetros ( push ).
03 - E por ultimo restaurar a pilha.

Prefiro utilizar um buffer e um ponteiro(char *) e então incrementar esse ponteiro.

Ex:


char buf[255], *p;

p = buf;
while (*string)
{
*p++ = *string++;
}
*p = 0;



Conselho: aprenda a manipular string PRINCIPALMENTE dentro de loop usando apenas elementos nativos da linguagem e nunca use funções para tal... estou me referindo a C.


6. Re: concatenar apenas 1 caracter por vez dentro do for

Daniel
danielcrvg

(usa Slackware)

Enviado em 10/02/2014 - 16:58h

Opa e ai irmao blz???

entao na real, é que estou estudando algoritmos criptograficos. Estou bem no comeco da materia, e ai so por desafio tentei implementar alguns deles so pra ve no que da saca...

este que estou tentando implementar é o algoritmo polialfabetico, onde a chave é uma "palavra". Entao por exemplo:

texto claro: CRIPTOGRAFIA
chave: LOUCO

Pelo que eu entendi, a chave deve ser repedita ate ficar do mesmo tamanho da mensagem:

CRIPTOGRAFIA
LOUCOLOUCOLO

Por isso eu tava tentando implementar a concatenação de um caracter por vez..


De qualquer forma, obrigado pela dica em relação ao desempenho.

abraco,

Daniel.




7. Re: concatenar apenas 1 caracter por vez dentro do for

???
gokernel

(usa Linux Mint)

Enviado em 10/02/2014 - 17:16h


Saquei !!!

Abraço !!!



8. Re: concatenar apenas 1 caracter por vez dentro do for

???
gokernel

(usa Linux Mint)

Enviado em 10/02/2014 - 19:55h

@gokernel:
" ... o processador precisa fazer algumas coisitas(em assembly) como:"

CORREÇÃO:
O processador faz tudo em linguagem de máquina e nao em assembly.








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts