eu fiz este programa para armazenar as linhas digitadas no shell e imprimir só as linhas que passarem de certo número de caracteres...
eu digito as linhas ... mas depois que finalizo o programa ele não imprime, fica parado como se em loop infinito...
deem uma olhada no código:
/*imprime linhas que tem mais que 80 caracteres*/
#include
#define LIMITE 5000
#define TAMANHO 80
#define MAX_LINHA 1000
int lelinha(int entrada[], int tamanho_max);
void copia(int de[], int para[], int posicao_atual);
int main()
{
int estouro, tam, temp;
int texto[LIMITE];
int linha[MAX_LINHA];
tam=estouro=0;
while((tam=lelinha(linha, MAX_LINHA)) > 0)
{
if(tam > TAMANHO)
{
copia(linha,texto,estouro);
}
estouro+=tam;
}
/* imprime linhas armazenadas*/
printf("%s", texto);
return 0;
}
/*funcoes usadas no programa*/
/*le ultima linha da entrada com tamanho predefinido para limite e
retorna tamanho da linha*/
int lelinha(int entrada[], int valor)
{
int c, i;
for(i=0; i
entrada[i]=c;
if(c=='\n') entrada[i]='\n';
i++;
entrada[i]='\0';
return i;
}
//copia uma string para outra, na posi‡Æo especificada, presume que destino ‚ grande o suficiente
void copia(int de[], int para[], int posicao)
{
int i=0;
for(i=0; de[i]!='\0'; ++i)
{
para[posicao]=de[i];
++posicao;
}
++posicao;
para[posicao]='\0';
}
___________________________________
aguardo soluções, t+
intruso
Tô em todas
Registrado
1.8K Mensagens
41 Curtidas