char buffer1[1000]
char *buffer2
buffer1读取了一个二进制文件(大概1000字节不到)(文件中有0X00,以及0XFF)buffer2=buffer1;
每当我把buffer1的字符存到buffer2中时,字符显示总是不完整(只能存放200字节),读到0x00或者0xFF就结束了。我应该怎么办呢?
char *buffer2
buffer1读取了一个二进制文件(大概1000字节不到)(文件中有0X00,以及0XFF)buffer2=buffer1;
每当我把buffer1的字符存到buffer2中时,字符显示总是不完整(只能存放200字节),读到0x00或者0xFF就结束了。我应该怎么办呢?
这一句有问题吗?
--
没办法,显示不了,但数据还在啊
C字符串是以0xFF为结束符的
for(int i=0;i<1000;i++)
*(buffer2+i)=buffer1[i];
在0x00之后的数据,你可以直接用buffer1[202]之类的访问,只是不能用字符串操作。
我觉得最直观的调试方法,就是打开内存调试。可以直观的观察到内存数据的变化
char *buffer2 这个事放在全局变量里面的,也就是没有赋值之前,它是没有指向内存区域的
你用这句buffer2=buffer1; 肯定是有问题 再定义一个数组,用这个语句就可以了