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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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?
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:
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.
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!
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:
Poré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):
como 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