乱码了,求解啊该如何解决
乱码了,求解啊
在vs2010下,将一个数组的值写入文件中,
出现乱码:具体如下:
如果数组中的数据都是个位数,或者数据个数一致,那么这个程序就不会出现乱码。
如果数组中数据的位数不一致 1 12 123 ,那么这个程序就会出现乱码。
具体代码如下:(源程序中截取的一部分,只有这个地方有问题)
for(i = 0 ; i < len ; i++) ///记录循环次数,先选择n-1个数据
{
max = sort[0] ;
jmax = 0 ;
for(j = 0;j < len ; j++ ) //每次查找到一个数据就进行数据的删除以及写入,这里size肯定大于1
{
if( max < sort[j] )
{
max = sort[j]; //记录数据并且保存位置
jmax = j ;
}
}
//删除最大值并存入文件,需要转化成字符
char buf[32] = {0};
itoa(max,buf,10);
fwrite(buf,strlen(buf)+1,1,fp2); ///////////?????????????
sort[jmax] = -1 ;
}
------解决思路----------------------
为什么必须加盘符呢?
------解决思路----------------------
二进制文件也可以储存字符型数据,储存方法和文本文件一样。都是使用 ASCII 编码储存的。所以我们用记事本打开某些二进制文件时,也能看到一些有意义的字符串。(无意义的乱码我们可以认为是整型或实型,不过记事本程序当作字符来解释,因此造成了乱码)
http://www.cnblogs.com/flying-roc/articles/1798817.html
------解决思路----------------------
电脑内存或文件内容只是一个一维二进制字节数组及其对应的二进制地址;
人脑才将电脑内存或文件内容中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文……字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息……
推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。
对电脑而言没有乱码,只有二进制字节;对人脑才有乱码。啊 GBK:0xB0 0xA1,Unicode-16 LE:0x4A 0x55,Unicode-16 BE:0x55 0x4A,UTF-8:0xE5 0x95 0x8A
在vs2010下,将一个数组的值写入文件中,
出现乱码:具体如下:
如果数组中的数据都是个位数,或者数据个数一致,那么这个程序就不会出现乱码。
如果数组中数据的位数不一致 1 12 123 ,那么这个程序就会出现乱码。
具体代码如下:(源程序中截取的一部分,只有这个地方有问题)
for(i = 0 ; i < len ; i++) ///记录循环次数,先选择n-1个数据
{
max = sort[0] ;
jmax = 0 ;
for(j = 0;j < len ; j++ ) //每次查找到一个数据就进行数据的删除以及写入,这里size肯定大于1
{
if( max < sort[j] )
{
max = sort[j]; //记录数据并且保存位置
jmax = j ;
}
}
//删除最大值并存入文件,需要转化成字符
char buf[32] = {0};
itoa(max,buf,10);
fwrite(buf,strlen(buf)+1,1,fp2); ///////////?????????????
sort[jmax] = -1 ;
}
------解决思路----------------------
为什么必须加盘符呢?
------解决思路----------------------
二进制文件也可以储存字符型数据,储存方法和文本文件一样。都是使用 ASCII 编码储存的。所以我们用记事本打开某些二进制文件时,也能看到一些有意义的字符串。(无意义的乱码我们可以认为是整型或实型,不过记事本程序当作字符来解释,因此造成了乱码)
http://www.cnblogs.com/flying-roc/articles/1798817.html
------解决思路----------------------
电脑内存或文件内容只是一个一维二进制字节数组及其对应的二进制地址;
人脑才将电脑内存或文件内容中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文……字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息……
推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。
对电脑而言没有乱码,只有二进制字节;对人脑才有乱码。啊 GBK:0xB0 0xA1,Unicode-16 LE:0x4A 0x55,Unicode-16 BE:0x55 0x4A,UTF-8:0xE5 0x95 0x8A