Seguinte, coisas bizarras acontecem em C, e estou presenciando uma delas!
Me parece um erro do compilador, e como eu não entendo NADA de compilador, deve ser por isso que não consigo resolver o problema:
Como já postei algumas vezes aqui, tenho um programa que obtem dados de um arquivo externo, e vai fazendo contas, cada vez pegando um novo dado do arquivo externo, e imprimindo as contas em ou utro arquivo externo.
Estive trabalhando com dados em torno de 58mil linhas (cada linha tem um dado, que é um valor), e não tinha problemas. Eu gerava n arquivos (digitados pelo usuario) contendo essas 58mil linhas ou até um pouco menos, umas 2 mil a menos (uma constante definida pelas contas do programa).
E até aí, meu programa estava perfeito!
O problema é que meu chefe resolveu usar uns dados que possuem 66931 linhas (pra ser exato!) e comecei a ter problemas:
-meus arquivos de saída, todos eles, estão com algo em torno de 65mil linhas, só! as outras não estão aparecendo!
(nesse caso, não há as +ou- 2 mi linhas não escritas... são algo em terno de 20 ou 30 linhas a menos, só, e ele está me dando mais de 1500 linhas a menos!!!
Não consegui entender aonde estava o problema, então resolvi testar alternativas para ver se o problema se resolvia, e cheguei à alternativa mais bizarra de todas!!!
como forma de testar a impressão do arquivo, numa inicialização inicial, aonde somente o arquivo era lido, resolvi imprimir cada dado lido num outro arquivo de saida, para ver o que dava.
A principio, o mesmo problema: somente umas 65k linhas eram impressas.
Depois, resolvi DELETAR O RESTO DO PROGRAMA! simplesmente deixei o meu programa com a inicialização que descrevi acima, e, para minha surpresa, funcionou!!!!!
Voltei a colocar o resto do programa, e deu erro novamente!
e em nenhum ponto eu reedito o arquivo no resto do programa, então, explicitamente: se meu codigo está grande, ou completo, não imprime todas as linhas, com um codigo pequeno, imprime todas as linhas!
aí vai o codigo enxuto, somente com a inicializacao:
Pergunta
Felipe Amadio
Seguinte, coisas bizarras acontecem em C, e estou presenciando uma delas!
Me parece um erro do compilador, e como eu não entendo NADA de compilador, deve ser por isso que não consigo resolver o problema:
Como já postei algumas vezes aqui, tenho um programa que obtem dados de um arquivo externo, e vai fazendo contas, cada vez pegando um novo dado do arquivo externo, e imprimindo as contas em ou utro arquivo externo.
Estive trabalhando com dados em torno de 58mil linhas (cada linha tem um dado, que é um valor), e não tinha problemas. Eu gerava n arquivos (digitados pelo usuario) contendo essas 58mil linhas ou até um pouco menos, umas 2 mil a menos (uma constante definida pelas contas do programa).
E até aí, meu programa estava perfeito!
O problema é que meu chefe resolveu usar uns dados que possuem 66931 linhas (pra ser exato!) e comecei a ter problemas:
-meus arquivos de saída, todos eles, estão com algo em torno de 65mil linhas, só! as outras não estão aparecendo!
(nesse caso, não há as +ou- 2 mi linhas não escritas... são algo em terno de 20 ou 30 linhas a menos, só, e ele está me dando mais de 1500 linhas a menos!!!
Não consegui entender aonde estava o problema, então resolvi testar alternativas para ver se o problema se resolvia, e cheguei à alternativa mais bizarra de todas!!!
como forma de testar a impressão do arquivo, numa inicialização inicial, aonde somente o arquivo era lido, resolvi imprimir cada dado lido num outro arquivo de saida, para ver o que dava.
A principio, o mesmo problema: somente umas 65k linhas eram impressas.
Depois, resolvi DELETAR O RESTO DO PROGRAMA! simplesmente deixei o meu programa com a inicialização que descrevi acima, e, para minha surpresa, funcionou!!!!!
Voltei a colocar o resto do programa, e deu erro novamente!
e em nenhum ponto eu reedito o arquivo no resto do programa, então, explicitamente: se meu codigo está grande, ou completo, não imprime todas as linhas, com um codigo pequeno, imprime todas as linhas!
aí vai o codigo enxuto, somente com a inicializacao:
Link para o comentário
Compartilhar em outros sites
2 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.