24小时热门版块排行榜    

查看: 1442  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

daily_7

铜虫 (小有名气)

[求助] VS2010将数据输出到电脑中 为什么是乱码呀?已有2人参与

这是输出部分的程序
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")==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
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wake_up

木虫 (著名写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
daily_7: 金币+2, 有帮助, 谢谢你 2015-11-15 09:36:54
你写的是二进制的嘛wb。兄弟。二进制当然是你不可理解的啊(显示成字符没办法看)。如若,你就是个机器了。  你用二进制写进去,如果读出来的那些数字是对的就行。

发自小木虫Android客户端
扫地扫地扫心地,心地不扫空扫地,人人都把心地扫,世上无处不净地.
3楼2015-11-14 20:41:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

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"==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);
}
2楼2015-11-14 20:35:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

daily_7

铜虫 (小有名气)

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

可是我把wb改成w 输出的还是乱码呀
4楼2015-11-15 09:48:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lvweizhong

铜虫 (著名写手)

【答案】应助回帖

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

发自小木虫Android客户端
5楼2015-11-15 21:08:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见