PaisNeto Posted October 29, 2015 at 10:34 AM Report Share #589288 Posted October 29, 2015 at 10:34 AM Bom dia, Eu comecei a utilizar agora o c++ e quero fazer uma aplicação para windows no visual studio 2015. Na aplicação eu vou gravar os dados de atletas num ficheiro, queria gravar os dados em binário num ficheiro, utilizei o binaryWriter, mas no ficheiro os dados não ficaram em binário. Existe outra forma de gravar os dados em binário? Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted October 29, 2015 at 11:04 AM Report Share #589289 Posted October 29, 2015 at 11:04 AM (edited) podes dar uma referência à documentação online dessa classe que usaste ? e também o teu código ... Edited October 29, 2015 at 11:05 AM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
PaisNeto Posted October 29, 2015 at 06:35 PM Author Report Share #589320 Posted October 29, 2015 at 06:35 PM Boa tarde, aqui está o código que eu usei private:System::Void proc_gravarficheiroen(System::String^ inscricao) { System::String^ ficheiro = "inscrito.bin"; /*verifica se o ficheiro já existe*/ if (!File::Exists(ficheiro)) { BinaryWriter^ outFile = gcnew BinaryWriter(File::Open(ficheiro, FileMode::Create)); outFile->Write(inscricao); outFile->Close(); } /*se o ficheiro existir adiciona a linha*/ BinaryWriter^ outFile = gcnew BinaryWriter(File::Open(ficheiro, FileMode::Append)); outFile->Write(inscricao); outFile->Close(); } adaptei o exemplo que estava nesta página https://msdn.microsoft.com/en-us/library/67czzkst.aspx Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted October 29, 2015 at 09:38 PM Report Share #589338 Posted October 29, 2015 at 09:38 PM e o que te faz pensar que o ficheiro não está em binário ? pensa bem no que é um ficheiro binário, o que estás a gravar e como estas a verificar se é binário ou não IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
PaisNeto Posted October 30, 2015 at 08:15 AM Author Report Share #589356 Posted October 30, 2015 at 08:15 AM Quando abri o ficheiro com o bloco de notas estavam lá os dados conforme tinham sido introduzidos. Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted October 30, 2015 at 10:03 AM Report Share #589360 Posted October 30, 2015 at 10:03 AM ok, vou explicar o que está a acontecer: vamos imaginar que tens a string "abc". se passares essa string pelo código que acima apresentas, o que irá acontecer é, excrever no ficheiro os valores : 'a', 'b', 'c' no ficheiro, sendo esses valores numéricos : 97, 98, 99. por outras palavras, o que quero dizer é que estás a gravar no ficheiro 3 bytes com os valores referidos anteriormente. o que acontece é que isso é exactamente o que o notepad espera de um ficheiro de texto. e é por isso que te parece que o ficheiro não é binário. na realidade, todos os ficheiro são binários, a diferença é que os chamados ficheiros de texto possuem nos bytes gravados, valores que ao serem traduzidos através de uma conversão padronizada (normalmente a tabela ASCII), representão um texto. se pretendes realmente verificar se o ficheiro é binário ou não, o que tens de fazer é gravar valores numéricos e verificar que na realidade o que te aparece no notepad não é o valor numérico em texto, isto porque o valor numérico não irá ser convertido (pela tabela ASCII) em texto e/ou dígitos esperado. IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now