转换要在UNIX上提交的二进制文件

转换要在UNIX上提交的二进制文件,unix,binaryfiles,Unix,Binaryfiles,我刚刚完成了我的程序,必须按照教授的指示在UNIX系统上提交。但是,我的程序将数据写入一个二进制文件prog6.out。我需要提交这个文件以及我的其他程序文件,但我得到一个消息,它是一个二进制文件,无法提交。有没有办法解决这个问题,在UNIX系统上提交文件 我的程序应该从一个名为prog6.dat的文件中读取输入,对该数据进行一些计算,以创建三角形对象,然后将最终信息写入一个文件(按照我教授的说明,prog6.out)。该文件的内容包括5个三角形对象,每个对象包括三条边的长度、面积、周长、颜色以

我刚刚完成了我的程序,必须按照教授的指示在UNIX系统上提交。但是,我的程序将数据写入一个二进制文件prog6.out。我需要提交这个文件以及我的其他程序文件,但我得到一个消息,它是一个二进制文件,无法提交。有没有办法解决这个问题,在UNIX系统上提交文件


我的程序应该从一个名为prog6.dat的文件中读取输入,对该数据进行一些计算,以创建三角形对象,然后将最终信息写入一个文件(按照我教授的说明,prog6.out)。该文件的内容包括5个三角形对象,每个对象包括三条边的长度、面积、周长、颜色以及是否填充。在前面的一个问题中,我曾问过为什么打开prog6.out文件时,我看到的都是随机数、符号等。我被告知,因为它是一个二进制文件,所以这是正确的。如果您需要查看特定的代码,请让我知道,其中有很多代码,我想也许可以回答这个问题,而不必让你们都通过4个类的代码

在多平台项目中使用二进制文件很棘手。我会继续以预定义的方式(endianness,每种数据类型的位,…)以二进制进行写和读,或者按照建议使用文本表示


如果您只需要发送二进制文件,而不保证程序另一端的可读性,请使用Base64对其进行编码。

您需要如何以及在何处传输文件?为什么使用二进制文件?在哪个系统(=操作系统和处理器)上?为什么不能使用文本文件?编辑您的问题,进一步解释您的文件包含的内容,以及您的程序在做什么。你知道像这样的文本序列化格式吗?你是否考虑在自己的PC上安装一些Linux发行版?@ BaselestalyKyvyCy,我运行Windows 8(不确定处理器),但是我的类要求我通过UNIX系统在家庭远程登录工具上提交作业。这里重要吗?为什么我们没有关于您如何传输文件的信息?我将如何进行编码?如果您要求手动编码输出文件,您可以使用简单的位操作,例如,使用4字节数组并将32位整数的组件放入数组(或使用htonl和类似函数)。请注意,您需要知道类型的大小(例如使用int32_t)。浮点更为棘手,但同样的方法也适用于它们(IEEE-754提供了大小,最常见的是32位和64位)。