#include "fstream.h"int main(int argc, char* argv[])
{
unsigned char cc=0;
ofstream ofile;
ofile.open("d:\\a.img");
for(int i=0;i<128;i++)
{
for(int j=0;j<128;j++)
{
// if(cc==255) cc=1;
// else
cc++;
t++;
ofile.put(cc);
}
}
ofile.close();
}
这段代码我很奇怪,屏蔽if时(如上)文件大小是16448字节;保留if是16449字节;
如果cc不自加,直接赋为0(任意一个值0-255),文件大小变为16384。
{
unsigned char cc=0;
ofstream ofile;
ofile.open("d:\\a.img");
for(int i=0;i<128;i++)
{
for(int j=0;j<128;j++)
{
// if(cc==255) cc=1;
// else
cc++;
t++;
ofile.put(cc);
}
}
ofile.close();
}
这段代码我很奇怪,屏蔽if时(如上)文件大小是16448字节;保留if是16449字节;
如果cc不自加,直接赋为0(任意一个值0-255),文件大小变为16384。
解决方案 »
- vc连接本地SQL SERVER数据库一定要连网线吗
- 问几个基础问题
- 请问:如何将CMYK的4个分色的通道文件合并成一个RGB文件?
- 我已经安装了微软的SDK ,是不是在VC中要重新定向D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE 文件夹到我安装的SDK目录?
- 请教:在扩展DLL中如何用ADO来访问数据库?
- 如何确定vfw的视频缓冲区的位置(就是指针,变量什么都行)
- 请问各位大侠有什么函数可以得到系统的语言类型?很急
- 请问哪儿可以找到标准c的库函数手册和MFC类库函数手册
- 请教用MFC怎么写一个最简短的COM组件?
- 怎样在树控件的每个节点前面加个加号
- 求JPEG转BMP或JPEG转PNG源程序!!!
- 在formview上,放置一个richeditctrl,怎么让ctrl+c,ctrl+v在richedit中有效?
改unsigned char cc=0; 为 int cc=0;if(cc>=255)
cc=1;
else
cc++;
如此OK!
屏蔽if时,因为输出为文本方式,所以cc=10时即0A,会在前面增加0D所以增加了16448/255=64个字节
保留if时,不太清楚,呵呵……看看二进制输出应该能找出原因
cc最大值为255,屏蔽if时(如上)文件大小,只初始化一次cc>255时出错,果真如此?我认是ofile.put(cc);语句会将字符'\n'(0x27)转换成'\r\n'后输出到文件中导致。
ofstream ofile;初始化时指定二进制文件操作。如ofstream pOut(ios::binary);应能够解决这个问题。
ofstream ofile;
ofile.open("d:\\a.img"); int t=0;//统计循环次数是否正确
for(int i=0;i<128;i++)
{
for(int j=0;j<128;j++)
{
if(cc>=255) cc=0;
else
cc++;
t++;
ofile.put((char)cc);
}
} 3jaja(3++输入法)老大,还是不行啊!