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

Manipulação de *.TXT em C


meio

Pergunta

tenho o seguinte codigo:

int inserir() {

    FILE *arquivo;
    char nome[100];
    char telefone[100];

    arquivo = fopen("agenda.txt","a");

    printf("Digite o Nome ");
    scanf("%s",&nome);
    printf("Digite o Telefone ");
    scanf("%s",&telefone);

    fputs(nome,arquivo);
    fputs(telefone,arquivo);

    putc('\n', arquivo);
    if(ferror(arquivo)) {
        perror("\nErro na gravacao.");
        fclose(arquivo);
        exit(1);
    } else {
        printf("\nRegistro Inserido com sucesso.");
    }
    fclose(arquivo);
    getche();
    main();
    return 0;
}

ele esta enviando para o txt assim por exe

meio123

sendo que nome = 'meio'; e telefone = '123';

queria q ele enviasse dessa forma pro TXT

meio\123

ou sejd kd var divida por '\'

e outra coisa

quando eu escreve no printf para guardar o nome ele n esta aceitando nome co espaco no meio exe

'meio nada'

se alguém puder me ajudar

vlw

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Você pode usar a mesma lógica que usou pra colocar uma quebra de linha no texto

putc('\n', arquivo);
Só que em vez de colocar uma quebra coloque uma barra:
putc('\\', arquivo);

Quanto a ler uma string com espaço, realmente um scanf com esses parâmetros mais comuns não lê. Existem diversas soluções que você pode pesquisar como.

fgets: ( para usar fgets pegando o buffer do teclado coloque stdin no lugar do nome do arquivo.

http://www.cplusplus.com/reference/clibrary/cstdio/fgets/

Tem uma variação de parametros do scanf

scanf("%[^\n]s", nomeVariavel);

http://www.cplusplus.com/reference/clibrary/cstdio/scanf/

Editado por Myho
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...