| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/11/2010 17:54:00
|
matelucati
What is classpath?
Membro desde: 20/11/2010 17:43:10
Mensagens: 8
Offline
|
Olá,
Sou novo no fórum do GUJ (é também meu primeiro fórum a frequentar), estou aprendendo a linguagem C na faculdade, porém, deparei-me com um problema.
Estou desenvolvendo um algoritimo que lê um determinado ponteiro que abre um arquivo TXT, quando executo o WHILE lendo este ponteiro e atribuo o valor do conteúdo a uma variável, ao sair do WHILE este valor é descarregado, ou seja, enquanto estou dentro do WHILE e executo o printf da variável, consigo ver o valor, mas quando saio do WHILE esta variável fica vazia.
Abaixo o código que estou usando:
Não consigo identificar a maneira correta, para ao sair do WHILE, a variável continuar com o valor carregado para que eu utilize no restante do algoritimo.
Agradeço se alguém puder ajudar-me,
Muito obrigado,
[]s
Gustavo Matelucati
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/11/2010 18:22:38
|
entanglement
GUJ Hacker
Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline
|
http://www.cplusplus.com/reference/clibrary/cstdio/getc/
Quando o arquivo acabou, o valor retornado por getc é EOF mesmo, ou seja, o arquivo acabou e não faz sentido você tentar pegar mais nenhuma informação dele. Mas não entendi por que é que seu processamento não deva ser feito dentro do WHILE (quando o arquivo ainda não acabou).
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/11/2010 21:48:03
|
matelucati
What is classpath?
Membro desde: 20/11/2010 17:43:10
Mensagens: 8
Offline
|
Olá entanglement,
Primeiramente obrigado pela ajuda, na verdade entendi seu ponto de vista, mas a minha idéia é que o processamento finalizasse dentro do while e depois, com a variável carregada com o resultado do processamento, eu pudesse utilizá-la em outro ponto do meu código.
Na verdade terei vários whiles abrindo alguns arquivos TXT e posteriormente, armazenando os resultados em variáveis, para em outra parte do código, fazer um if e tomar algumas decisões.
Obrigado,
[]s
Gustavo Matelucati
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/11/2010 13:36:28
|
douglaskd
GUJ Ranger
![[Avatar]](/images/avatar/836e08ad1864b72840258c910b729fb6.jpg)
Membro desde: 04/07/2010 00:51:49
Mensagens: 839
Localização: Campinas - SP
Offline
|
olha isso:
var_ls_arq_entrada = getc(fp_le_conf_cam_entrada);
você esta pegando somente 1 caractere do texto e sobrescrevendo a variável... no final você esta imprimindo ou o ultimo caractere ou um caractere de espaço " "
você deve usar um "vetor de char" que em C isso é uma String
como ficaria:
tenta isso ae...não testei
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/11/2010 15:22:47
|
matelucati
What is classpath?
Membro desde: 20/11/2010 17:43:10
Mensagens: 8
Offline
|
Olá douglaskd, boa tarde!
Obrigado pela dica, porém, tentei utilizar o código conforme demonstrado, mesmo assim a variável retornou vazia.
Entendi sua explicação, estou consultando o livro que tenho para entender melhor esta parte com vetores.
Para não ter problemas com o tamanho do que será colocado dentro da variável, criei a variável conforme código abaixo:
E no local onde faz o while, incluí o código que você mencionou, mas não funcionou.
Muito obrigado pela dica e pelo tempo disponibilizado, se testar algo que funcione e puder me avisar, agradeço.
[]s
Gustavo Matelucati
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/11/2010 16:04:36
|
douglaskd
GUJ Ranger
![[Avatar]](/images/avatar/836e08ad1864b72840258c910b729fb6.jpg)
Membro desde: 04/07/2010 00:51:49
Mensagens: 839
Localização: Campinas - SP
Offline
|
me desculpe agora ta testado rs, tinha esquecido o incremento do contador....
segue código completo
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/11/2010 17:34:35
|
matelucati
What is classpath?
Membro desde: 20/11/2010 17:43:10
Mensagens: 8
Offline
|
Olá douglaskd,
Muito obrigado por mais esta ajuda, vou testar o código agora no período da noite na faculdade.
Lhe envio as considerações, mas entendi o que você tentou explicar.
Realmente sem este contador, a posição que eu estava pegando era vazia.
Muito bom mesmo, assim que adaptar o código (e o mais importante, entender seu funcionamento) postarei aqui no fórum.
[]s
Gustavo Matelucati
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/11/2010 23:17:04
|
matelucati
What is classpath?
Membro desde: 20/11/2010 17:43:10
Mensagens: 8
Offline
|
Boa noite douglaskd,
O código funcionou perfeitamente, fiz a adaptação em meu projeto e está ótimo.
Entendi o erro que estava cometendo ao depurar o exemplo que me enviou, realmente estava pegando uma posição vazia.
Excelente idéia.
Grato,
[]s
Gustavo Matelucati
|
|
|
 |
|
|