Ir ao conteúdo
  • Cadastre-se
rafaelrrf

Ponteiros

Recommended Posts

Pessoal,

 

Se eu tenho um uma variavel do tipo char teste[10] = "Hello World"; Como eu faço para atribuir a uma variavel do tipo char *ponteiro apenas o World contido na posicao de 7 a 11; sem usar estruturas de repetições?

Compartilhar este post


Link para o post
Compartilhar em outros sites

//Em C for Windows, faço assim!

//program C - Simple Code <Clube do Hardware>
 
#include<stdio.h>#include<conio.h>#include<stdbool.h> // Version C'99//Function prototype...//Copiar sequencia apontado por bytes ponteiro n vezes;//retornará o primeiro apontado por bytes_ptchar *Fun_CopiarBytes( char *, const char *, int n_bytes );int main( void ){   char *Meu_Nome = (char[]){ "Meu Nome Vem Aqui" };   char *Vem_Aqui = (char[9]){ 0 }; //Vem Aqui tem = 8 char + 1 de escape [\0]   Fun_CopiarBytes( Vem_Aqui,Meu_Nome + 9, 9 );   printf( "Printf do Resultado: %s\n\n",Vem_Aqui );return ( 0x0 );}//Definição da Função...char *Fun_CopiarBytes( char *bytes_pt_sr, const char *bytes_pt_ft, int n_bytes ){   struct DefCopy{ char bytes[n_bytes];};   *((struct DefCopy*)bytes_pt_sr) = *((struct DefCopy*)bytes_pt_ft);return ( bytes_pt_sr );}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a vantagem em usar struct nessa situação?

Porque você usa essa forma de atribuição?

char *Meu_Nome = (char[]){ "Meu Nome Vem Aqui" };
E não essa, por exemplo:

char meu_nome[] = "Meu Nome Vem Aqui";
Já que está usando ponteiro basta mover o apontador, bem mais simples.

int main(){    char meu_nome[] = "Meu Nome Vem Aqui", *s;    s = meu_nome;    s += 9;    printf("Printf do resultado: %s\n", s);    return 0;}
Obs: Na verdade meu comentário acima, sobre mover o ponteiro, não se aplica a esse caso já que a ideia é copiar a string. Mas caso alguém queira fazer dessa forma, fica a dica.

Compartilhar este post


Link para o post
Compartilhar em outros sites
olliver.soul

Por que eu gosto de escrever assim!

É Elegante e estimulante! (eu gosto)

Compartilhar este post


Link para o post
Compartilhar em outros sites

kkkkkkkkkkkkkkkkkkkkkk

Sei não. Viu

 

Você, talves seja um estudioso ou um mestre em ciência da computação, em fim...

Porém eu sou apenas um curioso em um fórum de tecnologia.

Para mim é apenas um passa-tempo divertido, e todos e sim é uma questão de gosto

acho que aqui eu posso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gosto de estudar e sou curioso também, e fazer perguntas no sentido de enriquecer o conhecimento faz parte disso.

Acho que se eu fosse mestre nem precisaria perguntar, hahaha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então bom!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×