Ir ao conteúdo
  • Cadastre-se

Porque nao consigo printar essa string?


Guilherme Sixe

Posts recomendados

#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<time.h>
	
typedef struct{
	char nome[20];       
}pokemon;



int main(){
	
	pokemon Bulbassauro;   
	Bulbassauro.nome[6] = "Bulba";
	
	sprintf("Nome: %s", Bulbassauro.nome);
	
 system("pause");
 return 0;	
}

Erro:  [Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]

 

Com o posso resolver esse erro? Obg.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Bulbassauro.nome[6] = "Bulba"; é errado. A forma correta seria usando strcpy(função de copia de strings):

strcpy( Bulbassauro.nome, Bulba  ); // Note que não leva [6]


Mas se quiser dar valor na hora da declaração então poderia ser feito algo como:

pokemon Bulbassauro = { .nome = "Bulba" };

Ou incluso de forma mais implícita:

pokemon Bulbassauro = { "Bulba" };


Mas como falei só poderia ser feito na hora da declaração, então poderíamos prescindir da função strcpy, se quiser modificar o valor da atribuição posteriormente você está obrigado a usar strcpy. Falou! :thumbsup:

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...