我试图读取在C bmp文件++(涡轮)。但我不是能够打印二进制流。

欲txt文件编码成它和解密。 我怎样才能做到这一点。我读的BMP文件头是54字节。但是,如何以及在哪里我应该追加在bmp文件txt文件。 ?

我只知道的Turbo C ++,所以这将是有益的,我如果u提供相关话题相同的解决方案或建议。

int main()
{
ifstream fr; //reads
ofstream fw; // wrrites to file
char c;
int random;
clrscr();
char file[2][100]={"s.bmp","s.txt"};

fr.open(file[0],ios::binary);//file name, mode of open, here input mode i.e. read only
if(!fr)
    cout<<"File can not be opened.";
fw.open(file[1],ios::app);//file will be appended
if(!fw)
    cout<<"File can not be opened";
while(!fr)
    cout<<fr.get(); // error should be here. but not able to find out what error is it

fr.close();
fw.close();
getch();
}

此代码运行良好时我通过以二进制模式txt文件

修改

while(!fr)
    cout<<fr.get(); 

我无法看到控制台的二进制数据 这是为文本工作正常时我经过特征参数在fr.get(c)中

有帮助吗?

解决方案

我觉得你的问题是媒体链接回答: 使用二进制表示打印的诠释三

您的字符转换成int和你做(至少在输出部分)

其他提示

通过隐秘,什么小我知道这件事情,你不是“追加”的文字。你让到像素的细微变化(阴影等)来隐藏的东西,看起来并不明显,但是应该能够通过检查像素反向解密。应该不会有什么做头。 所以无论如何,我的其他非有用的答案点是鼓励你去,了解您寻求答案,这样就可以设计解决方案的主题,然后来问有关实施细节。

您需要修改的位模式,不附加任何文本文件。 一个简单的例子: 读取位图的内容(标题)后,和从每个字节的牺牲一点来保存内容

如果在Windows上,重新编码使用的CreateFile,看到真正的错误是什么。如果在Linux上,同上开放(2)。一旦你调试的问题,您也许可以转回到输入输出流。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top