C++文件输入输出

    xiaoxiao2021-03-25  84

    常见的文本文件格式输出方法如下

                          char * File2 = "norms.txt";                       ofstream outfile2(File2);

                                   outfile2 << endl; 

                                    vector<int>PointNormals;

                                   int jj = 0;

    while (jj < PointNormals.size()) { outfile2 << setiosflags(ios::fixed)<<setw(20)<<PointNormals[jj]<< " "; if (!((jj + 1) % 3)) { outfile2 << endl; } jj++;

    }

                                  PointNormals.resize(0);

                                  outfile2.close();

    输入例子如下

          ReadPoints_Resample(readMode _rm){

         m_NumOfPoint = 0;     ifstream infile(filename,ios_base::in); if (!infile) { return ; } m_Points.resize(WNUM); for (int i = 0; i < WNUM; i++) { m_Points[i].resize(HNUM); } for (int i = 0; i < WNUM; i++) { for (int j = 0; j < HNUM; j++) { m_Points[i][j].resize(DNUM); } } ofstream outfile("original.txt"); if (_rm == WITH_VOL_COORD) { for (int i = 0; i < WNUM; i++) { for (int j = 0; j < HNUM; j++) { for (int k = 0; k < DNUM; k++) { double t_x, t_y, t_z, t_vol; infile >> t_vol; infile >> t_x >> t_y >> t_z;                                        t_point.x = AIR_AFFINE(0, i, WNUM - 1, minX, maxX); t_point.y = AIR_AFFINE(0, j, HNUM - 1, minY, maxY); t_point.z = AIR_AFFINE(0, k, DNUM - 1, minZ, maxZ); //outfile << t_point.vol << " " << t_point.x << " " << t_point.y << " " << t_point.z << endl; m_Points[i][j][k] = t_point; } } } }else if(_rm == WITH_ONLY_VOL){ double max_vol = -1; for (int i = 0; i < WNUM; i++) { for (int j = 0; j < HNUM; j++) { for (int k = 0; k < DNUM; k++) { NorPoint t_point; double t_vol; infile >> t_vol; t_point.vol = t_vol; t_point.x = AIR_AFFINE(0, i, WNUM - 1, minX, maxX); t_point.y = AIR_AFFINE(0, j, HNUM - 1, minY, maxY); t_point.z = AIR_AFFINE(0, k, DNUM - 1, minZ, maxZ); //蚂蚁体数据阈值选为-0.2 if (t_vol > 0.3) { t_point.vol = 1; m_NumOfPoint += 1; outfile << t_point.vol << " " << t_point.x << " " << t_point.y << " " << t_point.z << endl; }else{ t_point.vol = 0; } m_Points[i][j][k] = t_point; } } } }else{ for (int i = 0; i < WNUM; i++) { for (int j = 0; j < HNUM; j++) { for (int k = 0; k < DNUM; k++) { NorPoint t_point; t_point.x = AIR_AFFINE(0, i, WNUM - 1, minX, maxX); t_point.y = AIR_AFFINE(0, j, HNUM - 1, minY, maxY); t_point.z = AIR_AFFINE(0, k, DNUM - 1, minZ, maxZ); if (k == -j + DNUM) { t_point.vol = 1.0; m_NumOfPoint += 1; outfile << t_point.vol << " " << t_point.x << " " << t_point.y << " " << t_point.z << endl; }else{ t_point.vol = 0.0; } m_Points[i][j][k] = t_point; } } } } outfile.close();

    转载请注明原文地址: https://ju.6miu.com/read-21274.html

    最新回复(0)