比如说一个
char cTest[20];
其中第10个是空的,值为0x00,其他都不是
那怎么把这个数组完整的写到文件里面去?我发现当写到0x00,他就当做终结处理了,后面的不写了

解决方案 »

  1.   

    我发现当写到0x00,他就当做终结处理了,后面的不写了
    ==0x00是不可见字符,所以不能用文本方式写入。必须用二进制方式打开文件后才能写入。否则,0x00被认为是字符串结束标志。
      

  2.   

    这个就要看你的写的代码了。你写的文件要是二进制读写打开的。
    写的时候计算写的长度不要使用strlen而使用sizeof(cTest).
      

  3.   

    一个char一个char的写,应该可以
      

  4.   

    例如:
    FILE *fp;
    fp = fopen("abc.txt","wb"); //b是以二进制写
    ...
    然后就可以写了,比如: fputs(ccc,fp);   //ccc是字符数组,或者指针
    ...