Ir para conteúdo
Fórum Script Brasil
  • 0

Scanf.


Felipe_sp

Pergunta

11 respostass a esta questão

Posts Recomendados

  • 0
Olá amigo, algum de vocês saberia como usar o comando Scanf para que eu possa "pegar" os dados de um arquivo .txt para dentro do programa.

Abraços...

Bom eu tenho um exemplo dele lendo uma matriz e armazenando o conteúdo para depois imprimir

FILE *ap;

ap= fopen("matriz1.txt", "r");

for(f=0;f<F;f++)

{

for(c=0;c<C;c++)

{

fscanf(ap,"%d",&matriz1[f][c]);

}

}

fclose(ap);

"F" y "C"= e equivalente a 5 que seria o tamanho da matriz

Link para o comentário
Compartilhar em outros sites

  • 0

Olá amigo, então...me perdoe pelo erro, mas é o método "FSCANF" e não "SCANF" como coloquei no tópico. Eu até consigo salvar o texto em um arquivo .txt e tal, porém não estou conseguindo carregar esse arquivo de volta no sistema, sei que é utilizado a função FSCANF, porém não sei como utilizá-la corretamente. Se alguém puder me ajudar fico muito grato.

abraços...

Link para o comentário
Compartilhar em outros sites

  • 0

supondo que voce tenha uma arquivo e dentro dele contenha a idade de uma pessoa em cada linha, o nome do arquivo é exemplo.txt, ficaria +- assim:

FILE *ponteiro;
ponteiro = fopen("exemplo.txt", "r"); //abrindo arquivo no modo leitura

while(!feof(ponteiro)) //enquanto não chegar ao fim do arquivo
{
   fscanf(ponteito,"%d \n",&idade); //lê a linha do arquivo e depois pula para a próxima linha
   printf("Idade: %d",idade);  //imprime na tela o que foi lido
}
fclose(ponteiro); //fechando o arquivo

Editado por Durub
Link para o comentário
Compartilhar em outros sites

  • 0

Olá amigo, poxa...muito obrigado mesmo hein, deu certo aqui como eu queria. Tenho mais uma pergunta, aqui eu utilizei o fprintf para gerar um arquivo .txt e depois em outra parte do programa eu utilizei o fscanf para chamar esse arquivo para dentro do programa. Eu consegui carregar o arquivo dentro de uma string, porem o texto não aparece em uma unica linha, aparece uma palavra por linha, teria alguma forma de consertar isso.

Fico grato desde já.

abraços..

Link para o comentário
Compartilhar em outros sites

  • 0

Opa amigo, hehehe. Então, quando eu salvo o arquivo .txt, fica perfeito, da mesma forma q eu digito no programa aparece lá no .txt, porém quando eu carrego o arquivo .txt de volta ao programa, as palavras aparecem uma a uma em baixo da outra, gostaria que aparecesse como uma frase normal, entendeu?

abraços amigo....

Link para o comentário
Compartilhar em outros sites

  • 0
Opa amigo, hehehe. Então, quando eu salvo o arquivo .txt, fica perfeito, da mesma forma q eu digito no programa aparece lá no .txt, porém quando eu carrego o arquivo .txt de volta ao programa, as palavras aparecem uma a uma em baixo da outra, gostaria que aparecesse como uma frase normal, entendeu?

abraços amigo....

Huummm, entendi, provavelmente o problema está na impressão da variável que contém o que você leu no arquivo....poste o seu código para podermos analisar...

Link para o comentário
Compartilhar em outros sites

  • 0

Olá amigo, segue a parte do código responsável por essa operação:

printf("Digite o nome do arquivo a ser carregado: \n");
                          gets(strcarregar);
                            scanf("%s", strcarregar);
                            arquivocarregado=fopen(strcarregar, "r");
                         while (!feof(arquivocarregado))
                          {
                          fscanf(arquivocarregado,"%s",&strcarregar);

                          printf("%s \n", strcarregar);

Como eu disse antes, é exibido na tela palavra por palavra, uma em cada linha., se puder me ajudar fico muito grato.

abraços...

Link para o comentário
Compartilhar em outros sites

  • 0
Olá amigo, segue a parte do código responsável por essa operação:

printf("Digite o nome do arquivo a ser carregado: \n");
                          gets(strcarregar);
                            scanf("%s", strcarregar);
                            arquivocarregado=fopen(strcarregar, "r");
                         while (!feof(arquivocarregado))
                          {
                          fscanf(arquivocarregado,"%s",&strcarregar);

                          printf("%s \n", strcarregar);
Como eu disse antes, é exibido na tela palavra por palavra, uma em cada linha., se puder me ajudar fico muito grato. abraços...
você está mandando imprimir a strcarregar e depois pular uma linha com \n basta tira-lo e ficará tudo em uma linha, tente
printf("%s  ", strcarregar);

Editado por cauepor
Link para o comentário
Compartilhar em outros sites

  • 0

Olá amigo, era isso mesmo, ficou show de bola, porém....hehe....eu fui fuçar em alguma coisa lá...e fiz alguma alteração que agora só aparece a primeira palavra do texto, o resto das palavras nem aparece mais, e não estou conseguindo identificar o que aconteceu. Poderia me dar uma ajuda?

Segue o código de agora:

printf("Digite o nome do arquivo a ser salvo: \n");

gets(strcarregar);

scanf("%s", strcarregar);

arquivocarregado=fopen(strcarregar, "r");

while (!feof(arquivocarregado))

{

fscanf(arquivocarregado,"%s",&strcarregar);

printf("%s", strcarregar);

Por favor amigo, prometo que será a ultima coisa, hehe. Não consegui visualizar o problema, abraços...

Link para o comentário
Compartilhar em outros sites

  • 0

Felipe_sp, primeiramente se eu fosse você teria uma variável que contém o nome do arquivo a ser aberto e uma outra que é utilizada para imprimir no arquivo ou para ler algo no arquivo, pois, utilizando a mesma variável para receber o nome do arquivo e para receber o conteúdo dele tende a dar problemas...teste mudar isto e depois poste o código completo pois o erro pode estar em outro lugar, verifique também se as modificações que você fez não alteraram o que está sendo impresso no arquivo.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...