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

LER STRING COM ESPAÇO


Guest --Carlos Alberto --

Pergunta

Guest --Carlos Alberto --

E o seguinte:

Tenho um arquivo .TXT e estou querendo ler o mesmo sem ler os espaços em branco dele por exemplo:

aaaaaa bbbbbbbbb ccccccccccccccccccccccccccccccccccccccccccc

cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

ddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeee

aaaaaa bbbbbbbbb ccccccccccccccccccccccccccccccccccccccccccc

cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

ddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeee

eu queria somente ler a primeira ate a letra "e" e depois ler novamente ate a proxima letra "e" sem pegar os espaços em branco.

So que meu codigo consegue pegar a primeira string mas quando estou dando loop ele não esta passando para a segunda string.

Verifiquem o codigo....

if ( (fp = fopen("mensagem.txt", "r")) == NULL)

{

printf("\n Falha na abertura do arquivo");

return Thread_return_value(NULL);

}

while( 1)

{

fscanf( fp, "%[^\n]s", msg_in);

....

...

...

esperem que ajudem....grato

E-mail

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Bom,acho que a minha solução será muito C,porque sou iniciante... :rolleyes:

Mas porquê você não faz uma leitra caractere a caractere até encontrar um '\n' e armzena isso em uma string,e faz isso,uma string por vez?

Talvez não seja isso que você queira,talvez haja um método mais simples mas...Enfim,você que sabe.

Um abraço!

Link para o comentário
Compartilhar em outros sites

  • 0
E o seguinte:

Tenho um arquivo .TXT e estou querendo ler o mesmo sem ler os espaços em branco dele por exemplo:

aaaaaa bbbbbbbbb ccccccccccccccccccccccccccccccccccccccccccc

cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

ddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeee

aaaaaa bbbbbbbbb ccccccccccccccccccccccccccccccccccccccccccc

cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

ddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeee

eu queria somente ler a primeira ate a letra "e" e depois ler novamente ate a proxima letra "e" sem pegar os espaços em branco.

So que meu codigo consegue pegar a primeira string mas quando estou dando loop ele não esta passando para a segunda string.

Verifiquem o codigo....

if ( (fp = fopen("mensagem.txt", "r")) == NULL)

{

printf("\n Falha na abertura do arquivo");

return Thread_return_value(NULL);

}

while( 1)

{

fscanf( fp, "%[^\n]s", msg_in);

....

...

...

esperem que ajudem....grato

E-mail

Tente usar o gets();

Link para o comentário
Compartilhar em outros sites

  • 0

Nossa, você desenterrou um defunto bem antigo! Acho que nem osso tem mais... :D

agora falando sério: com o gets somente poderia ler da stdin. Além disso, gets não é recomendado pois não há controle quanto ao tamanho do buffer. O correto é sempre usar o fgets.

Abraços,

Marcelo Utikawa da Fonseca

Editado por Marcelo Utikawa da Fonseca
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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...