Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Nao consigo escrever no arquivo

Eu nao consigo fazer oque o usuario digita ser escrito no arquivo de texto eu ate consigo alterar a primeira posiçao do arquivo somando 1 porem oque o usuario digita nao aparece no arquivo

void adicionarpalavra (){
  char escolha;
  char novapalavra[20];
  FILE* f;
  f=fopen("texto.txt","r+");
  if(f==0){
    printf("O banco de dados nao pode ser acessado\n");
    exit(1);
  }
  int quantd;
  fscanf(f,"%i",&quantd);
  quantd++;
  fseek(f, 0, SEEK_SET);
  fprintf(f, "%i", quantd);

  printf("Voce deseja adicinar uma palavra  S/N ?\n");
  scanf("%s",&escolha);
  if(escolha=='S'){
    printf("Digite a nova palavra em letras maisculas \n");
    scanf("%s",novapalavra);
    fseek(f, 0, SEEK_END);
    fprintf(f, "\n%s", novapalavra);

  }


fclose(f);
}

1 resposta
solução!

Olá Daniel, tudo bem ? Espero que sim.

O problema está no trecho onde você lê a escolha do usuário, você tenta ler uma string e salvar em char.

  printf("Voce deseja adicinar uma palavra  S/N ?\n");
  scanf("%s",&escolha);

Para solucionar, basta trocar o %s pelo %c:

  printf("Voce deseja adicinar uma palavra  S/N ?\n");
  scanf("%c",&escolha);

Espero ter ajudado, bons estudos, abraço.