如何用C++把图片转化为二进制码存在记事本中

下载安装Hex Editor Neo用其打开你的图片ctrl+3 切换到binary viewctrl+A全选然后就是ctrl+C,ctrl+V的事了

#include <stdio.h> #include <stdlib.h> int main() { FILE *in,*out; char infile[100],outfile[100]; unsigned char ch,cha,chb; int i,j,k,size; printf("输入之前文件名(包括后缀,文件要在放在程序根目录下): \n"); scanf("%s",infile);

c++中采用ifstream ifile("stu.txt")打开源文件,读入数据,再用ofstream ofile("flu.dat",ios::binary)打开二进制文件,使用write(函数写入就可以了)

说法不准确.ASCII只是一种编码格式,依然是二进制.你只不过想换一种编码格式.给你一个参考代码:#include <stdio.h>// void chartobin(char a){ unsigned mask = 1u << 7; for (; mask; mask >>= 1){ printf("%d", a&mask?1:0); } printf("\n"); }// int main(int argc, char *argv[]) { chartobin('a'); chartobin('b'); chartobin('A'); // return 0; }

1,你得知道什么是文件,什么是文本文件,什么是文本.文件放在存储设备里,例如硬盘,是一堆0和1,文本文件其实没有区别,只不过是一堆预先订好的组合而已.文本是人能读的,例如是字母,由于字母有不少,0和1不够用,只能用8个0或者1的组合代表一个字母.例如在ASCII编码中0100 0001 表示 A0100 0010 表示 B 2,那一个词一句话就是很多这种8个一组的0/1堆在一起,放存储设备里面,就是文本文件.文本文件也是一个二进制文件.3,技术上,就是把很长的0和1,8个一组分开,从编码表里找出对应的字母.当然这都有现成的C++方法可以调用,不用自己重新发明轱辘了.

这个问题不太清楚,不过文件的最终存储方式都是二进制的数据流,所以你得先把图片转化为二进制的文件,那就得用汇编了,得到二进制文件后程序就好写了,在你写入文件后要得到图片还得在用汇编让它转化问图片格式.具体怎么转化不清楚,c语言里或许有相应的函数库.

保存一个整数int a=12345;到文件 可以是文本方式,可以是二进制方式. 文本方式就是保存的文件内容是一个字符串12345,记事本可以直接打开,显示12345 fprintf(fp, "%d", a); 二进制方式就是把直接把12345这个数在内存的内容(0x00003039)直接放在文件中,你用记事本打开是乱码,一般用16进制编辑器打开 fwrite(&a, sizeof(a), 1, fp); 一般都是直接把一个结构保存到文件 比如 struct stu { char name

作为2二进制文件打开,一个字节一个字节地读入,写出,直到EOF(文件结束符).当然写出时要按数据库约定的方式. 下面作为普通文件输出 FILE *fin,*fout; void main() { int c; fin=fopen( "duck.jpg","rb"); // 作为2二进制文件打开 fout=fopen("tmp.jpg","wb"); while(1){ c=fgetc(fin); // 一个字节一个字节地读入 if (feof(fin)) break; // 直到EOF fputc ( c , fout ); // 改此句,让它符合数据库约定. } }

你好!char c[40]; int a=1for(int i=0;i{ c[i]=(arg[1]&a)>0 ? 1 : 0; a>>1; } c[i]='\0'; 如果对你有帮助,望采纳.

二进制读到程序里 然后用十进制写文件

相关文档

电脑版