none
文本文件的写入与读取 RRS feed

  • Question

  • 在讲数据写入文本文件时,我使用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[i][0]>>tmp>>myModelData.IndexOfVect[i][1]>>tmp>>myModelData.IndexOfVect[i][2];
      ifs>>tmp1;
      }
    其中:myModelData.IndexOfVect定义为 unsigned long 类型,变量tmp为字符串类型,tmp1为字符类型
     

    Thursday, July 30, 2009 2:38 AM