用下面的代码试一下:
char m_char[2];
m_char[0]=hz;
m_char[1]=0;
fputs(m_char,fout);

解决方案 »

  1.   

    1.不知道这个程序是干什么的?
    2.把putchar(ch);输出到STDOUT正确
        fputc(hz,fout);输出到文件烂码
    改为 putchar(ch);//输出到STDOUT正确
        fputc(ch,fout);//输出到文件烂码
    3.测试数据:
    假设argv[1]是1.txt
    Hello World!
    控制台输出为Hello World!,当然tt.txt和1.txt一样
    测试数据:
    假设1.txt为
    8=4*2-9+7+2
    控制台输出为:8:2-9+7+2
    tt.txt为8:2-9+7+2
    4.结论:
    putchar(ch)和fputc(ch,fout)得到一样的结果,不存在一个正确一个乱码的问题
    5.请批评指正!
      

  2.   

    to xiebo:
    是一个解码程序,关于  quoted-printable
    你对了