Ir para conteúdo
Fórum Script Brasil
  • 0

Loop embora necessário, como faço para sair?


Luiz_Junior

Pergunta

Esse código recebe inputs do teclado ""de qualquer tamanho"" com espaços e me mostra na tela. Posteriormente pretendo armazenar a string em um arquivo.

Porém não consigo sair desse loop, pois ele é necessário para a apresentação das letras.

Peço ajuda, pois não consigo pensar em nenhuma condição para que ele saia.

#include <stdio.h>

#define FILE fp

#define fp fopen("lista","w")

char *morador=NULL;

size_t len = 0;

int main()

{

printf("\nDigite o nome do morador: ");

int i=0;

while(1)

{

getline(&morador, &len,fp);

scanf("%c",morador);

printf("%s",morador);

i++;

}

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

getline() não é C++?

Tá realmente difícil entender esse código.

Por exemplo, o terceiro parâmetro de getline() deve ser um caractere delimitador, mas você colocou 'fp', que está definido como a função fopen abrindo o arquivo 'lista'...

Aí é complicado de entender.

Link para o comentário
Compartilhar em outros sites

  • 0

É C.

Desculpa não sabia que essa função era para C++. Teria alguma outra receba uma string com espaços?

Quando você diz caractere delimitador, significa que getline deve parar de receber os inputs?

Link para o comentário
Compartilhar em outros sites

  • 0
Desculpa não sabia que essa função era para C++. Teria alguma outra receba uma string com espaços?

fgets() lê strings com espaço. Acho que gets() também.

É possível usar uma expressão regular no scanf() para que ele leia espaços... Exemplo:

scanf("%[^\n], string);

Sobre getline(), você precisa compreender como ela funciona, quais são os parâmetros.

Dá uma conferida.

Mas como acredito que seja C++ e você está fazendo em C, não deve usar getline.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...