C++读取OBJ文件 对于f数据 取出任意自己想要的数据
C++读取OBJ文件 对于f数据 取出任意自己想要的数据
自己建了一个1.txt
文件内容如下
f 77959/79546/77959 37781/38039/37783 37770/38028/37772
f 77959/79546/77959 58979/59636/58979 37781/38039/37783
f 77960/79547/77960 66852/67777/66852 2586/2621/2588
f 8189/8230/8191 9490/9533/9492 21242/21342/21244
f 62968/63763/62968 71857/73031/71857 62957/63752/62957
取出每个数据存放起来
代码如下:
#include<stdio.h>
#include<iostream>
#include<string>
#include<fstream>
#include<sstream>using namespace std;int main()
{FILE *fp;char ext[1000];string tempStr, lineStr;bool end_of_file = false;double a, b, c;int vnum=0;int fnum=0;//char m[30],n[30],q[30];int m,n,q,m1,n1,q1,m2,n2,q2;//if ((fp = _wfopen(L"C:\\Users\\DELL\\Desktop\\M1-91(YINHU)-jm17w-zhk.obj", L"r")) == NULL)// return false;if ((fp = _wfopen(L"C:\\Users\\DELL\\Desktop\\1.txt", L"r")) == NULL)return false;//------------统计总数 定点和面片——————————————//for(int jj=0;jj<20000000;jj++)while(!feof(fp)){fscanf(fp, "%s", ext);//读取文件第一行的“OFF”//cout<<ext<<"\n";if(ext[0]=='v'&&ext[1]=='\0'){vnum++;}int i=0,j=0,k=0;if(ext[0]=='f'&&ext[1]=='\0'){fnum++;}//if (strcmp(ext, "OFF") != 0 && strcmp(ext, "off") != 0)//判断文件格式是否是“OFF”// return false;//读取文件第二行的顶点数和面数//fscanf(fp, "%d%d%d\n", &a, &b, &c);//创建顶点和面数组//}}cout<<"vnum="<<vnum<<" "<<"fnum="<<fnum<<"\n";fseek(fp,0,SEEK_SET);//———————————————读取顶底和面片信息————————————/*//for(int jj=0;jj<20000000;jj++)while(!feof(fp)){fscanf(fp, "%s", ext);//读取文件第一行的“OFF”//cout<<ext<<"\n";if(ext[0]=='v'&&ext[1]=='\0'){fscanf(fp, "%lf%lf%lf\n", &a, &b, &c);cout << a <<" "<< b<<" " << c<<" " << "\n";}int i=0,j=0,k=0;if(ext[0]=='f'&&ext[1]=='\0'){fscanf(fp, "%s%s%s", &m, &n, &q);for (int kk = 0; m[kk] != '/'; kk++) { i = i * 10 + (m[kk] - 48); } for (int kk = 0; n[kk] != '/'; kk++) { j = j * 10 + (n[kk] - 48); } for (int kk = 0; q[kk] != '/'; kk++) { k = k * 10 + (q[kk] - 48); } cout << i <<" "<< j<<" " << k<<" " << "\n";}//if (strcmp(ext, "OFF") != 0 && strcmp(ext, "off") != 0)//判断文件格式是否是“OFF”// return false;//读取文件第二行的顶点数和面数//fscanf(fp, "%d%d%d\n", &a, &b, &c);//创建顶点和面数组//}}*///————————————读取顶底和面片信息(纹理、法向量)——————while(!feof(fp)){fscanf(fp, "%s", ext);//读取文件第一行的“OFF”int i=0,j=0,k=0;if(ext[0]=='f'&&ext[1]=='\0'){fscanf(fp, "%d/%d/%d%d/%d/%d%d/%d/%d", &m, &n, &q,&m1,&n1,&q1,&m2,&n2,&q2);cout<<m<<" "<<n<<" "<<q<<" "<<m1<<" "<<n1<<" "<<q1<<" "<<m2<<" "<<n2<<" "<<q2<<"\n";}}fclose(fp);}
运行结果如下
关键问题就是要熟悉函数
fscanf().
C++读取OBJ文件 对于f数据 取出任意自己想要的数据相关推荐
- C++/OpenGL 入门(18):读取obj文件并贴图
来源:<Computer Graphics Programming in OpenGL Using C++ >by V Scott Gordon John L Clevenger 内容:程 ...
- 使用vcglib库读取obj文件并显示(一或多个材质)
<vcglib库的入坑体验(读取obj文件并显示)>一文不能显示obj的材质,这里提供一个: #include <......>using namespace std; usi ...
- C++读取OBJ文件中的数据(VS2013)
#include <iostream> #include <fstream> #include <stdlib.h> #include <sstream> ...
- python 3d重建_三维人脸重建(一)——Python读取obj文件
目录 一.obj格式模型介绍 文件说明很有必要,有助于数据提取时的理解.这一部分借鉴OBJ格式模型详细介绍 obj格式有4种数据,分别以一下字母开头: 1. v顶点 2. vt纹理坐标 3. vn顶点 ...
- (牛哇牛哇)读取OBJ文件及其详解
原文链接:https://blog.csdn.net/zb1165048017/article/details/109103791 前言 最近处理一些网格渲染的时候,需要解析Obj文件,从Free3D ...
- python大数据好不好学_大数据好学吗?想转行大数据??
作为一名IT从业者,同时也是一名教育工作者,我来回答一下这个问题. 首先,虽然大数据技术具有一定的难度,但是随着大数据技术体系的逐渐丰富和完善,大数据领域对于人才的需求类型也在不断趋于多元化,不同知识 ...
- c++读取obj文件的数据 其中f中只取面片定点数据
数据格式为 f 40022/40306/40024 26860/27001/26862 40023/40307/40025 f中只取面片定点数据 代码如下 #include<stdio.h> ...
- Python pandas在读取csv文件时(linux与windows之间传输),数据行数不一致的问题
背景 最近在处理用户评论数据时,从Linux服务器上面用pandas导出的csv文件,下载到自己的Windows电脑,再用本地pandas读取时发现数据行数不一致的情况,比如在Linux服务器上面数据 ...
- 读取obj+mtl 文件 (OpenGL C++)
本学期我们开设了计算机图形学的课,最后的大作业老师要求做一个场景,为了使做出的场景更美观,写了这个读取obj文件的程序,从CG模型网上下载了一些模型并加载,如图所示,大部分的模型都能够加载成功,由于我 ...
最新文章
- 《C++程序设计POJ》《WEEK7 输入输出和模板》《流操纵算子》《文件读写》《二进制文件读写》...
- Spring中bean标签的属性和值:
- hbase 读写调优_hbase优化操作与建议
- 机器学习——推荐算法
- 神策数据保险行业解决方案,正式上线官网!
- 2012 人民搜索 实习生招聘 笔试题
- 【No.7 C++对象的构造与析构时间】
- 随想系列_4_从电影《可可西里》说起
- Node.js-json-模块化-全局对象-fs-服务-Buffer
- pulse 去马赛克软件_细致到毛孔头发 神还原的高清大图!AI去马赛克新算法
- 如何获取maven命令执行后成功与否的返回值
- css面试题之Flex布局
- EnableQ问卷属性控制项
- 迅捷pdf编辑器是如何编辑pdf文件的
- word、excle、ppt文档图标显示异常的解决方案!
- 专插本计算机二级英语四级,专插本考试需要英语四级吗?
- Arduino基础入门篇19—点阵屏
- 华为telnet连接(无用户名登录和aaa模板登录)
- 2022年黄石市高企申报奖励补贴以及认定奖励补贴汇总!
- 家庭组网方案研究(2):路由器和光猫上的连接方式