2013-03-19 80 views
0

我一直在整个晚上只是想获得一个简单的程序在一个文本文件阅读,然后将其复制/写回成二进制格式。关于文本文件转换为二进制文件C++

我的代码通过文本文档循环,获得了数据,把它放在缓冲区,并写了它退了出去。哎呀,我甚至硬编码了我想用二进制写出来的数据。

我用fstream的,ofstream的,例如:fp1.open( “student.dat”,IOS ::二进制);

,并在几个不同的网站,如读了起来: http://www.functionx.com/cpp/articles/serialization.htm

http://www.cppforschool.com/tutorial/files2.html

和我工作的代码,但是当我在记事本中打开bin文件++,我看到我的文字数据还是看起来像文本,并没有真正'转换'为任何十六进制格式,或任何真正的东西。数字是,我仔细检查,看看他们是否准确,你知道,一个小网站,你可以输入数字,它吐出十六进制。

我实在受够了,为什么我的文字不转换,我毁了我的所有代码,并试图重新开始。 *因此缺乏实例”

所以,我的问题,最后就是,为什么不是文本以任何方式改变,这是正常的二进制文件,并使用这种方法吗?我甚至用预先制作编码的例子,它都以相同的方式出现,我只是希望它看起来像1和0,真的不是,它都是真的有效吗?

我的主项目是将.OBJ文件转换为二进制数据,但实际上我应该怎么看这个?这个二进制文件应该是什么样子?

任何意见,将不胜感激! 谢谢!

+0

如果你想看到1层0的在您的文件,那么你必须写1和0到您的文件。 – chrisaycock 2013-03-19 14:32:19

+1

文本字符只是二进制字符的子集 - 您期待什么“转换”? – 2013-03-19 14:32:37

+0

您想要一个包含0和1的文本文件作为其唯一字符。这不是二进制文件。二进制文件就是一个简单的文件,在读取文件时不会被视为文本 - 它被视为一系列字节。文本编辑器专门用于阅读和编辑文本文件。 – 2013-03-19 14:44:02

回答

0

我只是使用字符和字符串,并没有看到差异。一旦我开始使用其他数据类型,就会发现有变化。我知道.OBJ和.txt是二进制文件类型,我只是预料到一个更大的变化。我使用了cplusplus.com,并回顾了我需要了解的更多内容。谢谢你试图帮助我猜!

相关问题