Ir ao conteúdo
  • Cadastre-se

Comando para ler linha


paradoxd

Posts recomendados

Meu programa deveria alocar X espaço na memória através de um ponteiro vetor e após, colocar X caracteres de espaço nessas posições do vetor, em seguida escrever um frase por cima nesse mesmo vetor. Eu estava utilizando o comando cin, mas ele ignora o caractere de espaço, por tanto minha frase estava ficando com as palavras grudadas.

Tentei substituir o comando cin por "getchar, gets, getline, getc" mas quando faço isso o programa simplesmente ignora estes comandos de entrada.

Onde está meu erro ?

Aqui vai o código.


#include<iostream>
#include<cstdlib>

typedef struct tipochar{
char *texto;
int valor;
}*ptr;

using namespace std;

void construtor(ptr& v, int tamanho)
{
v = new tipochar; //alocação dinamica de um vetor do tipo 'x' com um tamanho 'v.valor'.
v-> valor = tamanho;
v-> texto = new char[tamanho];

cout << "Construtor: ";
for(int i=0; i<tamanho; i++)
{
v -> texto[i] = 'x';
cout << v -> texto[i];
}

}

void armazena(ptr& v, int tamanho)
{
for(int i=0; i<tamanho; i++)
cin >> v->texto[i];
}

int main()
{
int aux;
ptr x;

cout << "Digite o tamanho do texto: ";
cin >> aux;

construtor(x,aux);
armazena(x,aux);
}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!