当前位置: 首页 > 程序语言 >VS2010将数据输出到电脑中 为什么是乱码呀?

VS2010将数据输出到电脑中 为什么是乱码呀?

作者 daily_7
来源: 小木虫 250 5 举报帖子
+关注

这是输出部分的程序
void sp(void)//存颗粒场p1.dat
{
        int i;
        pn=n+1; con=0;       
        strcpy(fn,route); strcat(fn,"p"
        for(i=6;i>=0;i--)
        {
                in=(int)(pn/pow(10.0,i));
                if(in>0){con=1;ch[0]=(char)(in+48);strcat(fn,ch);pn=pn-(int)(in*pow(10.0,i));}
                else if(con==1)strcat(fn,"0"//写0占位
        }
        strcat(fn,".dat"
        if((fp=fopen(fn,"wb&quot)==NULL){printf("file open erroe:%s\n",fn);exit(0);}
        fwrite(&nu,sizeof(int),1,fp);//颗粒数
        for(i=0;i<nu;i++)
        {
                fwrite(&pk,sizeof(int),1,fp);
                fwrite(&px,sizeof(float),1,fp);
                fwrite(&py,sizeof(float),1,fp);
                fwrite(&pz,sizeof(float),1,fp);
                fprintf();
       
        }
        fclose(fp);
}

VS2010将数据输出到电脑中 为什么是乱码呀?
10.PNG 返回小木虫查看更多

今日热帖
  • 精华评论
  • daily_7

    void sp(void)//存颗粒场p1.dat
    {
            int i;
            pn=n+1; con=0;        
            strcpy(fn,route); strcat(fn,"p";
            for(i=6;i>=0;i--)
            {
                    in=(int)(pn/pow(10.0,i));
                    if(in>0){con=1;ch[0]=(char)(in+48);strcat(fn,ch);pn=pn-(int)(in*pow(10.0,i));}
                    else if(con==1)strcat(fn,"0";//写0占位
            }
            strcat(fn,".dat";
            if((fp=fopen(fn,"wb&quot==NULL){printf("file open erroe:%s\n",fn);exit(0);}
            fwrite(&nu,sizeof(int),1,fp);//颗粒数
            for(i=0;i<nu;i++)
            {
                    fwrite(&pk,sizeof(int),1,fp);
                    fwrite(&px,sizeof(float),1,fp);
                    fwrite(&py,sizeof(float),1,fp);
                    fwrite(&pz,sizeof(float),1,fp);

            }
            fclose(fp);
    },

  • wake_up

    你写的是二进制的嘛wb。兄弟。二进制当然是你不可理解的啊(显示成字符没办法看)。如若,你就是个机器了。  你用二进制写进去,如果读出来的那些数字是对的就行。

  • daily_7

    引用回帖:
    3楼: Originally posted by wake_up at 2015-11-14 20:41:53
    你写的是二进制的嘛wb。兄弟。二进制当然是你不可理解的啊(显示成字符没办法看)。如若,你就是个机器了。  你用二进制写进去,如果读出来的那些数字是对的就行。

    可是我把wb改成w 输出的还是乱码呀

  • lvweizhong

    你要写成啥?你想在文件中看到啥?想以文本保存就要把变量格式化成字符串,再将字符串写到文件。但是这样的话,如果你想再用这些数据,就要换换读法……

  • daily_7

    引用回帖:
    5楼: Originally posted by lvweizhong at 2015-11-15 21:08:45
    你要写成啥?你想在文件中看到啥?想以文本保存就要把变量格式化成字符串,再将字符串写到文件。但是这样的话,如果你想再用这些数据,就要换换读法……

    我后来用fprintf输出了 就不是乱码了 谢谢你

猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓