c语言读取obj文件转换数据的小例子

代码如下:

// hello.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "stdio.h"

int _tmain(int argc, _TCHAR* argv[])
{
    FILE *file1,*file2;
    file1=fopen("047facesmall.obj","r"); //读文件
    file2=fopen("047.obj","w+");  //保存的文件
    float a,b,c;
    int e,f,g;
    char v;

while(!feof(file1))
    {
        v=fgetc(file1);

if(v=='v')
            {
                fscanf(file1,"%f%f%f",&a,&b,&c);
                a=a/10;
                b=b/10;
                c=c/10;
                fprintf(file2,"%c\t%f\t%f\t%f\n",v,a,b,c);
    }
        else if(v=='f')
        {
            fscanf(file1,"%d%d%d",&e,&f,&g);
            fprintf(file2,"%c\t%d\t%d\t%d\n",v,e,f,g);
        }

}
    fclose(file1);
    fclose(file2);
    return 0;
}

(0)

相关推荐

  • linux c语言操作数据库(连接sqlite数据库)

    复制代码 代码如下: #include<stdio.h>#include<sqlite3.h> int select_callback(void *data,int col_count,char **col_values,char **col_name){    //每条记录回调一次该函数,有多少条就回调多少次    int i;    for(i=0;i<col_count;i++)    {        printf("%s=%s\n",col_na

  • 使用C语言构建基本的二叉树数据结构

    二叉树结构常用的一些初始化代码 #include #include typedef struct Node{ int data; Node *leftchild; Node *rightchild; }Node; /* 初始化一棵二叉树排序树. */ void InitBinaryTree(Node**root,int elem) { *root=(Node*)malloc(sizeof(Node)); if(!(*root)) { printf("Memory allocation for r

  • 详解C语言中的char数据类型及其与int类型的转换

    C语言中的char变量 char是C/C++整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认是signed.虽然char在标准中是unsigned(因为char类型提出的初衷是用来表示ascii码,ascii码的范围是0~127),但实际情况中究竟是signed还是unsigned取决于编译器. 可通过下面程序判断编译器的默认char类型: void char_type() { char c=0xFF; if(c==-1) printf

  • 使用C语言详解霍夫曼树数据结构

    1.基本概念 a.路径和路径长度 若在一棵树中存在着一个结点序列 k1,k2,--,kj, 使得 ki是ki+1 的双亲(1<=i<j),则称此结点序列是从 k1 到 kj 的路径. 从 k1 到 kj 所经过的分支数称为这两点之间的路径长度,它等于路径上的结点数减1. b.结点的权和带权路径长度 在许多应用中,常常将树中的结点赋予一个有着某种意义的实数,我们称此实数为该结点的权,(如下面一个树中的蓝色数字表示结点的权) 结点的带权路径长度规定为从树根结点到该结点之间的路径长度与该结点上权的乘

  • linux安装mysql和使用c语言操作数据库的方法 c语言连接mysql

    1. MySQL的安装与配置: 在Ubuntu下安装MySQL方法很简单,使用如下命令: 复制代码 代码如下: sudo apt-get install mysql-server 安装的过程中系统会提示设置root密码,此过程可以跳过,但是建议在安装时提示设置root密码的时候自行设置,免得后面设置麻烦.安装结束之后,系统会启动mysql服务,可以使用命令去查看来验证mysql服务是否已经安装成功: 复制代码 代码如下: ps -el | grep mysql 如果mysql服务没有正常的运行,

  • C语言中经socket接收数据的相关函数详解

    recv()函数: 头文件: #include <sys/types.h> #include <sys/socket.h> 定义函数: int recv(int s, void *buf, int len, unsigned int flags); 函数说明:recv()用来接收远端主机经指定的socket 传来的数据, 并把数据存到由参数buf 指向的内存空间, 参数len 为可接收数据的最大长度. 参数 flags 一般设0. 其他数值定义如下: 1.MSG_OOB 接收以ou

  • c语言连接mysql数据库的实现方法

    我这里也有一份网上找到的:/201205/other/C_link_mySql51.rar C连接MySql5.1所需文件.rar 附带一个不错的例子: #include <string.h> #include <stdlib.h> #include <stdio.h> #include <winsock2.h> #include <mysql/mysql.h>/*注意要包含这个头文件*/ #pragma comment(lib,"li

  • 用C语言操作MySQL数据库的通用方法

    在我们的web应用中,虽然PHP.JSP等脚本均提供了MySQL的接口,但是显然直接使用C语言具有更好的安全性和性能,在这篇文章中能够有所体现. 先看结构体: 以下代码块是用来连接数据库的通讯过程,要连接MYSQL,必须建立MYSQL实例,通过mysql_init初始化方能开始进行连接. typedef struct st_mysql { NET net; /* Communication parameters */ gptr connector_fd; /* ConnectorFd for S

  • php读取二进制流(C语言结构体struct数据文件)的深入解析

    尽管php是用C语言开发的,不过令我不解的是php没有提供对结构体struct的直接支持.不过php提供了pack和unpack函数,用来进行二进制数据(binary data)和php内部数据的互转: 复制代码 代码如下: string pack ( string $format [, mixed $args [, mixed $...]] )   //Pack given arguments into binary string according to format.  array unp

  • C语言实现txt数据读入内存/CPU缓存实例详解

    摘要 C实现将txt数据读入内存/CPU缓存的函数,不多说,实现如下. 1. 实现代码 #include "stdafx.h" #include <stdio.h> #include <stdlib.h> int filelength(FILE *fp); char *readfile(char *path); int main(void){ char *string; string=readfile("C:/Users/Joe WANG/Deskto

  • C语言读取BMP图像数据的源码

    复制代码 代码如下: /* File name:   bmpTest.c   Author:      WanChuan XianSheng    Date:        Oct 01, 2011   Description: Show all Info a bmp file has. including    FileHeader Info, InfoHeader Info and Data Part. Reference: BMP图像数据的C语言读取源码*/ #include <stdio

  • 深入解析C语言中常数的数据类型

    废话不多说,上代码 复制代码 代码如下: //编译环境:codeblocks+gcc#include <stdio.h>#include <stdint.h>int Fun(){    uint64_t y;    uint32_t x1, x2; //y = 3000 * 24000000 / 1000;//常数默认作为32位数据,临时运算结果也是32位,溢出错误    //y = (uint64_t)3000 * (uint64_t)24000000 / 1000;//常数强制

随机推荐