unsigned char c:1;
unsigned char d:1;
unsigned char e:1;
unsigned char f:1;
unsigned char g:1;
unsigned char h:1;
unsigned char i:1;
unsigned char j:1;
c、d、e、f、g、h、i、j都是占一bit的,如果你的密码是八位二进制数,就分开赋值rb方式 打开 是用 2 进制方法打开,只读文件。不能写。如果是 rb+ 就可以读写。
如果要把这个文件的内容复制到另一个文件,打开它,读入。
在写另一个文件,在执行写语句以前打开文件就可以,不一定一开始就打开。
可以读一段,写一段,也可以全部读入,再写出。
最后关闭文件。
当然,要是调用DOS 复制命令:
system("copy file_Atxt file_Btxt");
不用自己打开和读写了。这个问题不太清楚,不过文件的最终存储方式都是二进制的数据流,所以你得先把转化为二进制的文件,那就得用汇编了,得到二进制文件后程序就好写了,在你写入文件后要得到还得在用汇编让它转化问格式。具体怎么转化不清楚,c语言里或许有相应的函数库。
在C语言中文件按存储形式可划分为文本文件和二进制文件,文本文件又称纯文本文件。
文本文件是一种计算机文件,它是一种典型的顺序文件,其文件的逻辑结构又属于流式文件。文本文件是指以ASCII码方式(也称文本方式)存储的文件,更确切地说,英文、数字等字符存储的是ASCII码,而汉字存储的是机内码。文本文件中除了存储文件有效字符信息(包括能用ASCII码字符表示的回车、换行等信息)外,不能存储其他任何信息。二进制文件是指包含在ASCII及扩展ASCII字符中编写的数据或程序指令的文件,广义的二进制文件即指文件,由文件在外部设备的存放形式为二进制而得名。狭义的二进制文件即除文本文件以外的文件。文本文件是一种由很多行字符构成的计算机文件。文本文件存在于计算机系统中,通常在文本文件最后一行放置文件结束标志。文本文件的编码基于字符定长,译码相对要容易一些;二进制文件编码是变长的,灵活利用率要高,而译码要难一些,不同的二进制文件译码方式是不同的。bmp文件本来就是以二进制存储的bmp文件的结构如下:
typedef struct//BMP文件的文件头
{
char bfType[2];
long bfSize;
int bfReserved1;
int bfReserved2;
long bfOffBits;
}BMPHEAD;
typedef struct//点位图信息
{
long biSize;
long biWidth;
long biHeight;
int biPlanes;
int biBitCount;
long biCompress;
long biSizeImage;
long biXPelsPerMeter;
long biYPelsPerMeter;
long biClrUsed;
long biClrImportant;
}BMPINFO;
typedef struct//颜色表
{ unsigned char blue;
unsigned char green;
unsigned char red;
unsigned char reaserved;
}RGB;
bmp文件保存时,先存上面的三个结构体的数据,之后是图像数据具体信息可查相关书籍int _tmain(int argc, _TCHAR argv[])
{
FILE pFileDat = fopen( "adat", "rb" );
FILE pFileBmp = fopen( "bbmp", "wb" );
int size = 0; char buf[1024] = {0};
if ( pFileBmp == NULL || pFileDat == NULL )
{
goto end;
}
while ( true )
{
size = fread( buf, 1, 1024, pFileDat );
if ( size == 0 )
{
break;
}
size = fwrite( buf, 1, size, pFileBmp );
if (size == 0)
{
break;
}
}
end:
if (pFileDat) fclose(pFileDat);
if (pFileBmp) fclose(pFileBmp);
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)