Ir ao conteúdo
  • Cadastre-se
Jessé P. de Melo

C RESOLVIDO - Funcionamento de casting (int*)

Recommended Posts

Será um programa que converte a hora atual em segundos, eu sei fazer os cálculos porém não estou conseguindo converte.O  código abaixo esta com a logica certa porém a conversão não esta acontecendo como eu quero. Não procuro outro script, quero saber porque esse não funciona e como faço para funcionar.

#include<stdio.h>
#include<stdlib.h>

void main (void){

char horario[8]; // string que recebe a hora complera

char hora[3]; // variaveis que recebem a hora em string
char minutos[3];
char segundos[3];

int hora1; // variaveis que recebem a hora convertidas em int
int minutos1;
int segundos1;

printf("Digite uma hora no formato HH-MM-SS ");
scanf("%s",&horario); // Pega horario do teclado

hora[0]=horario[0]; // Preenche variaveis separadas da hora, min e seg
hora[1]=horario[1];
hora[2]='\0';

minutos[0]=horario[3];
minutos[1]=horario[4];
minutos[2]='\0';

segundos[0]=horario[6];
segundos[1]=horario[7];
segundos[2]='\0';

hora1=(int*)hora; // converte a string hora em int, e atribui valores. Mas não esta fazendo o esperado.
minutos1=(int*)minutos;
segundos1=(int*)segundos;

printf("Hora = %s, Minutos = %s, Segundos = %s", hora, minutos, segundos);
printf("\nHora = %i, Minutos = %i, Segundos = %i", hora1, minutos1, segundos1); //Onde imprime um numero não esperado.

}

 

adicionado 39 minutos depois

Casting funciona somente para variáveis escalares. Substitui pelo atoi()  e funcionou.

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

×