read(fd,&ch,1) 
ReadFile(fd,&ch,1,&SIZE,NULL)//这里DWORD SIZE=1;
我这样写的不知道对不对,因为linux中的fd是整形变量而windows中是句柄(指针),我这样写后windows中的ch值总是跟linux中的不一样,这里的ReadFile()是在线程中的,加断点运行后fd的地址总是在变化的

解决方案 »

  1.   

    fd是不是就是HANDLE fd;
    fd是指针,当然会变化,因为是局部变量,每次都会重新分配.
    你的ReadFile(fd,&ch,1,&SIZE,NULL)没问题,另外size是返回用的,不需要DWORD SIZE=1,
      

  2.   

    你可以自己调试下看,如果有问题,用Getlasterro看下结果
      

  3.   

    直接fread/fopen/fclose()不就好了吧
      

  4.   

    使用C标准函数库,在哪个平台都一样,用fread吧