C++ 手动创建二进制文件C++;

C++ 手动创建二进制文件C++;,c++,binaryfiles,C++,Binaryfiles,我有一个“1”和“0”的链表。如果我把它写进一个文件,它会将每个1和0保存为1或0的8位表示形式。作为学生的练习,教授希望我们手动将其转换为二进制文件。我知道有一些库可以处理这个问题,但这些库在本作业中是被禁止的 我在寻找从哪里开始的方向。我们能把1和0转换成dec并输出到一个文件吗?这算是二进制的吗?当然,如果MSB为零,我必须找到一种处理方法。过了这一关,我不知道从哪里开始请显示当前正在编写文本的代码和您想要尝试的内容。是的,从BASE-2字符串(或相当任意的基础)转换为二进制值是C++可以

我有一个“1”和“0”的链表。如果我把它写进一个文件,它会将每个1和0保存为1或0的8位表示形式。作为学生的练习,教授希望我们手动将其转换为二进制文件。我知道有一些库可以处理这个问题,但这些库在本作业中是被禁止的


我在寻找从哪里开始的方向。我们能把1和0转换成dec并输出到一个文件吗?这算是二进制的吗?当然,如果MSB为零,我必须找到一种处理方法。过了这一关,我不知道从哪里开始

请显示当前正在编写文本的代码和您想要尝试的内容。是的,从BASE-2字符串(或相当任意的基础)转换为二进制值是C++可以用输入流做的。如果您必须自己执行此操作,提示:
int bit=inputChar-'0'
加上使用
的位移位,您可以使用fstream库并告诉它您想用二进制编写它。我们不允许这样做。我们写入文件的内容必须是某种二进制格式@斯塔克:目前没有密码。目前,如果我只使用fstream并编写链表(或数组)的内容,它将简单地将其作为人类可读的文件来编写。。。。每个值都是1或0的8位表示形式。此处,与
std::fstream
相关的“二进制写入”与任何内容都无关。你必须使用这个标志。否则,您将无法准确地将所有位模式写入文件,至少在Microsoft Windows上是这样。该标志在Linux上不存在,或者没有意义,因此如果您认为无法使用该标志,那么正确使用该标志的唯一方法就是在Linux上。这就是为什么我认为这是一个红鲱鱼。有,但不要使用它,因为它有各种奇怪的警告,由于内部架构的问题,可能会很复杂的解释。只要稍加操纵,你的生活就会好得多。将输入的“位”分成8个字符,每一个字符进行位移位,就可以开始了。如果你能确信输入只有0或1,你可以用一个位掩码和一些数学来完成这个超级快速。请显示当前正在编写文本的代码和你想尝试的。是的,从一个BASE-2字符串(或者相当一个任意的基础)转换成二进制值是C++可以用输入流做的。如果您必须自己执行此操作,提示:
int bit=inputChar-'0'
加上使用
的位移位,您可以使用fstream库并告诉它您想用二进制编写它。我们不允许这样做。我们写入文件的内容必须是某种二进制格式@斯塔克:目前没有密码。目前,如果我只使用fstream并编写链表(或数组)的内容,它将简单地将其作为人类可读的文件来编写。。。。每个值都是1或0的8位表示形式。此处,与
std::fstream
相关的“二进制写入”与任何内容都无关。你必须使用这个标志。否则,您将无法准确地将所有位模式写入文件,至少在Microsoft Windows上是这样。该标志在Linux上不存在,或者没有意义,因此如果您认为无法使用该标志,那么正确使用该标志的唯一方法就是在Linux上。这就是为什么我认为这是一个红鲱鱼。有,但不要使用它,因为它有各种奇怪的警告,由于内部架构的问题,可能会很复杂的解释。只要稍加操纵,你的生活就会好得多。将输入的“位”分成8个字符,每一个字符进行位移位,就可以开始了。如果您可以保证输入仅为0或1,您可以通过位掩码和一些数学运算快速完成此操作。