Existe uma variável externa que você deve setá-la para depois fazer isso, 
mas em C fica mais fácil tipo:

int main(int argc, char *argv[])
{
        FILE *arquivo;
        char c, buffer[TAMANHO]; /* Segunda variavel opcional, pois se 
quizer que apenas mostre na tela não é         necessário
                                        Estou implementando a função para 
que você não precise de buffer  */

        if((arquivo = fopen("path do arquivo","r"))==NULL){
                puts("Erro ao ler arquivo ou você não tem permissão de 
leitura...");
                return(1);
        }

        while((c=getc(arquivo))!=EOF){
                if(c == 'g'){  /* Observando seu texto aí em baixo, 
testaremos primeiro a letra g e depois sempre a sua        subsequente */
                        c = getc(arquivo);
                        if(c == '>'){ 
                                /* Agora testamos a subsequente se for, 
pronto imprima na tela o conteúdo entre elas */
                                while((c = getc(arquivo)) != '<') { 
printf("%c",c); }
                        }
                }
        }
        fclose(arquivo);
        return(0);
}

Se você não tiver dentro das tags do html uma coicidência da letra g e 
posteriormente a o > ele vai imprimir corretamente, quer dizer ainda não 
testei acho que vai funcionar.

Se quizer armazenar no lugar de printf("%c",c) coloca buffer[i] = c; 
declare uma variável static int i; no inicio do arquivo, e dentro do corpo 
do laço while de impressão coloque o seguinte:
        while((c = getc(arquivo))!='<'){ i = 0; buffer[i] = c; i++; }

Se o código não lhe interessar ou você preferir em script, hoje a noite eu 
olho lá em casa e lhe mostro o código em Script Bash como seria, mas só 
vou lhe postar amanhã pois a internet é mais barata.

Pessoal,

Como fazer para pegar dados de um arquivo especificando caracteres que
vem antes e depois??
Exemplo:

Tenho um arquivo texto com: 
<tag>1</tag>
<tag>ab</tag>
<tag>ZZ</tag>

Preciso retornar:
1abZZ

Ou seja, preciso todos os dados de "tag".

Obrigado.
Rubens



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact 
[EMAIL PROTECTED]




Responder a