2
respostas

Na hora de adicionar a palavra, o arquivo não abre mais

enquanto eu estava no VSCode funcionava perfeitamente, porém após a mudança para o Visual Studio, não consigo mais adiconar palavras, o arquivo de texto está na mesma pasta dos outros arquivos, qual pode ser o problema?Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Olá, Rennan! Tudo bem?

Na imagem, é possível ver que a tentativa de adicionar uma nova palavra ao arquivo "words.txt" resulta em uma mensagem de erro "Failed to open file".

Uma causa comum para esse tipo de problema é o caminho do arquivo que não está sendo encontrado corretamente pelo programa. No Visual Studio, o diretório de trabalho padrão (o local onde o programa procura por arquivos quando você não especifica um caminho completo) é geralmente o diretório do projeto, mas pode ser diferente dependendo das configurações do projeto ou da maneira como você está executando o programa.

Aqui estão algumas sugestões para resolver o problema:

  1. Verifique o Caminho do Arquivo: certifique-se de que o arquivo "words.txt" está no diretório de trabalho atual do seu projeto. Você pode verificar e alterar o diretório de trabalho nas propriedades do projeto, na seção de depuração.

  2. Caminho Absoluto: como uma solução temporária, você pode tentar usar um caminho absoluto para o arquivo "words.txt" na função file.open(). Isso garantirá que o programa saiba exatamente onde encontrar o arquivo.

Além dessas duas sugestões, imagino que o problema pode está relacionado com a forma que você fechou o arquivo, no caso, o problema está relacionado ao fechamento do arquivo.

No código desenvolvido em aula, o fechamento do arquivo (arquivo.close()) está dentro do bloco if (arquivo.is_open()). Isso garante que o arquivo seja fechado apenas se tiver sido aberto com sucesso.

Por outro lado, no seu código, o fechamento do arquivo (arquivo.close()) está fora do bloco if (arquivo.is_open()). Isso significa que o arquivo será fechado independentemente de ter sido aberto com sucesso ou não.

Se o arquivo não puder ser aberto com sucesso, o programa irá para o bloco else e exibirá a mensagem de erro, mas tentará fechar o arquivo de qualquer maneira. Isso pode causar um erro adicional, pois o objeto arquivo pode não ter sido inicializado corretamente se a abertura falhar.

Portanto, o seu código, ao tentar fechar o arquivo fora do bloco if (arquivo.is_open()), pode causar um comportamento indefinido o erro que você recebeu, pois você está tentando fechar um arquivo que potencialmente nunca foi aberto com sucesso.

Experimente essas sugestões e veja se alguma delas resolve o seu problema.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Segui suas sugestões porém o mesmo problema persiste, coloquei até mesmo um caminho absoluto(apesar de o programa já estar no diretorio do projeto, na imagem acima eu inclusive mostrei a pasta lá aberta) é estranho pois o programa faz uma abertura do mesmo arquivo para sortear uma palavra secreta, e nesse primeiro momento, funciona normalmente: Insira aqui a descrição dessa imagem para ajudar na acessibilidadePorém após esse abertura, o programa só não consegue mais abrir na hora de realizar o salvamento do arquivo atualizado(print nova depois de seguir a sugestões):

Insira aqui a descrição dessa imagem para ajudar na acessibilidadecomo pode ver coloquei o fechamento do arquivo dentro do file.is_open e um caminho absoluto(o txt está no mesmo diretorio do projeto) o que será que pode estar dando errado? pode ser algum problema relacionado a permissoes ? //está com um probleminha também pois letras corretas estão aparecendo na parte de letras erradas, mas ja estou consertando, pode ignorar isso, valeu