游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2024|回复: 2

文件写入与读取问题

[复制链接]

1

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2009-7-30 10:41:00 | 显示全部楼层 |阅读模式
在将数据写入文本文件时,我使用Write函数:  Write(iTreeDepth, "Face[%02i], Vertex IDs : (%u, %u, %u)", i, pIndices[0], pIndices[1], pIndices[2]); 其中 DWORD* pIndices = lFace.getAllVerts();
而我在另一个工程中把Write函数写入的数据读出的时候出现了问题,我使用的是ifs实例来读取的,一个个数据单元读取(找不到其它更好的方法,呵呵),读取存放的变量我声明为unsigned long 与DWORD保持一致,可是无论怎么读取,都读不到正确的数据,有谁有过这方面经验的,帮忙指点一下,谢谢!我把部分代码与数据贴出来:
写入:DWORD* pIndices = lFace.getAllVerts();
        Write(iTreeDepth, "Face[%02i], Vertex IDs : (%u, %u, %u)", i, pIndices[0], pIndices[1], pIndices[2]);
这行代码执行后写入的数据为:
  Face[00], Vertex IDs : (0, 2, 3)
  Face[01], Vertex IDs : (3, 1, 0)
  Face[02], Vertex IDs : (4, 5, 7)
  Face[03], Vertex IDs : (7, 6, 4)
  Face[04], Vertex IDs : (0, 1, 5)
  Face[05], Vertex IDs : (5, 4, 0)
  Face[06], Vertex IDs : (1, 3, 7)
  Face[07], Vertex IDs : (7, 5, 1)
  Face[08], Vertex IDs : (3, 2, 6)
  Face[09], Vertex IDs : (6, 7, 3)
  Face[10], Vertex IDs : (2, 0, 4)
  Face[11], Vertex IDs : (4, 6, 2)
读取上面数据的代码为:
  for(i=0; i<myModelData.NumFaces; i++)
{
  ifs>>tmp>>tmp>>tmp>>tmp1;
  ifs>>tmp1;
  ifs>>myModelData.IndexOfVect[0]>>tmp>>myModelData.IndexOfVect[1]>>tmp>>myModelData.IndexOfVect[2];
  ifs>>tmp1;
  }
其中:myModelData.IndexOfVect定义为 unsigned long 类型,变量tmp为字符串类型,tmp1为字符类型


2

主题

79

帖子

85

积分

注册会员

Rank: 2

积分
85
QQ
发表于 2009-7-31 10:03:00 | 显示全部楼层

Re: 文件写入与读取问题


   好大可能的原因是你用了文本流模式,用二进制试下.

0

主题

113

帖子

122

积分

注册会员

Rank: 2

积分
122
发表于 2009-7-31 18:41:00 | 显示全部楼层

Re:文件写入与读取问题

既然用Write写的,就用Read读啊。
如果用流写的,才用流读啊。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-19 00:07

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表