Guest --Carlos Alberto -- Postado Janeiro 9, 2008 Denunciar Share Postado Janeiro 9, 2008 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 cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeaaaaaa bbbbbbbbb cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeu 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....gratoE-mail Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dr. Mahala Postado Janeiro 10, 2008 Denunciar Share Postado Janeiro 10, 2008 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Janeiro 10, 2008 Denunciar Share Postado Janeiro 10, 2008 assim não da pra fazer....Vou perder muito performance vai ficar muito lento....Tenho que achar outra solução para isso...mas valeu Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest kassi Postado Janeiro 10, 2008 Denunciar Share Postado Janeiro 10, 2008 Para eu pensar numa solução otimizada preciso saber o que você vai fazer com o resultado depois.Vai imprimir na tela, gravar em outro arquivo .txt....???? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Capecci Postado Setembro 27, 2012 Denunciar Share Postado Setembro 27, 2012 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 cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeaaaaaa bbbbbbbbb cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeu 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....gratoE-mailTente usar o gets(); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcelo Utikawa da Fonseca Postado Setembro 27, 2012 Denunciar Share Postado Setembro 27, 2012 (editado) Nossa, você desenterrou um defunto bem antigo! Acho que nem osso tem mais... :Dagora 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 Setembro 28, 2012 por Marcelo Utikawa da Fonseca Citar Link para o comentário Compartilhar em outros sites More sharing options...
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
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.