1. 学习g++能够读取什么格式的txt文件。

    读基本指令:

    >sprintf(filename,
    "doc_%d.txt",
    d);

    >fileptr
    =
    fopen(filename,
    "r");

    >while
    ((fscanf(fileptr,
    "%d ")
    !=
    EOF))

    > {fscanf(fileptr,
    "[%d,%d]",
    &s1,
    &s2);}

    fclose(fileptr);

    写基本指令:

    >fileptr
    =
    fopen("result_1.txt",
    "w");

    >fprintf(fileptr,
    "(%d)",
    x);

    >fprintf(fileptr,
    "\n");

    >fclose(fileptr);

具体的代码及要完成的简单任务描述如下:

// TestForReadTXT_Windows.cpp : 定义控制台应用程序的入口点。

//,读取doc_1.txt中的n行数据,并写入vector中,这里不进行运算,直接将xy坐标写回名为result_1.txt的文件中。

//数据在txt中的存放格式是3条轨迹以固定格式存储的轨迹数据

//5 [3,0](448,26,11)(447,26,13)(447,27,16)(447,28,17)(448,28,20)

//9 [0, 2](282, 101, 1436)(282, 102, 1437)(283, 102, 1440)(283, 101, 1442)(284, 101, 1445)(285, 101, 1447)(284, 101, 1448)(283, 101, 1451)(282, 101, 1455)

//3 [0,0](407,37,678)(406,37,682)(405,37,684)

//其中第一个代表元素个数,[]代表起止点,(x,y,t)代表轨迹信息

#include
"stdafx.h"

#include
<iostream>

#include
<vector>

using
namespace
std;

typedef
struct{

    int
x;

    int
y;

    size_t
t;

}
Point;

 

class
Trajectory{

public:

    //Trajectory();

    size_t
length;

    char
source;

    char
sink;

    vector<Point>
d_point;

};

int
_tmain(int
argc,
_TCHAR*
argv[])

{

    size_t
d,
i;

    int
length,
x,
y,
t,
s1,
s2,
numTrk
=
0;

    Point
p;

    Trajectory*
traj;

    vector<Trajectory>
TD;

    char
filename[100];

    FILE
*fileptr;

 

    printf("load data ...\n");

 

    for
(d
=
1;
d
<
2;
d++){

        //sprintf(filename, "trks_grand_ss8.txt");

        sprintf(filename,
"doc_%d.txt",
d);

        //sprintf(filename, "parkinglot_trk.txt");

        fileptr
=
fopen(filename,
"r");

 

        while
((fscanf(fileptr,
"%d ",
&length)
!=
EOF))//原始数据中的每行第一个数代表轨迹的长度

        {

        

            traj
=
new
Trajectory();

            fscanf(fileptr,
"[%d,%d]",
&s1,
&s2);//原始数据中的每行第2个代表source,sink点是否被观察

            /* traj->d_source=s1;

            traj->d_sink=s2;*/

            

            for
(i
=
0;
i
<
length;
i++){

                fscanf(fileptr,
"(%d,%d,%d)",
&x,
&y,
&t);

                p.x
=
x;
p.y
=
y;
p.t
=
t;

 

                traj->d_point.push_back(p);// (i, p, s1, s2);

 

            }

            

            fscanf(fileptr,
"\n");

            traj->sink
=
s1;

            traj->source
=
s2;

            traj->length
=
length;

            TD.push_back(*traj);

            //d_trajSet.push_back(*traj);

            //d_trajSet[numTrk].trkSource = s1;

            //d_trajSet[numTrk].trkSink = s2;

            //printf("cur TrkSource is %d, curTrkSink is %d. \n", d_trajSet[numTrk].trkSource,d_trajSet[numTrk].trkSink);

            //system( "pause ");

            

            numTrk++;

            delete
traj;

        }

        fclose(fileptr);

    }

    

    printf("%d trajectories are loaded. \n",
numTrk);

 

    fileptr
=
fopen("result_1.txt",
"w");

    for
(int
k
=
0;
k
<
numTrk;
k++){

    
 

    

        for
(int
w
=
0;
w
<
TD.at(k).length;
w++){

        

            fprintf(fileptr,
"(%d)",
TD.at(k).d_point.at(w).x);

        }

        

        fprintf(fileptr,
"\n");

        for
(int
w
=
0;
w
<
TD.at(k).length;
w++){

            

            fprintf(fileptr,
"(%d)",
TD.at(k).d_point.at(w).y);

        }

        fprintf(fileptr,
"\n");

 

    }

    fclose(fileptr);

    return
0;

}

写入result_1之后的结果如下:

 

(448)(447)(447)(447)(448)

(26)(26)(27)(28)(28)

(282)(282)(283)(283)(284)(285)(284)(283)(282)

(101)(102)(102)(101)(101)(101)(101)(101)(101)

(407)(406)(405)

(37)(37)(37)

 

程序在Ubuntu中的配置:需要多加一个在vc中包含于iostream中的头文件 #include<stdio.h>

在VC中用sprintf(filename,
"..//..//..//data/doc_%d.txt",
d);来表征上层目录。

Matlab 与 c++对txt 文档的读写格式的更多相关文章

  1. 用matlab查找txt文档中的关键字,并把关键字后面的数据存到起来用matlab处理

    用matlab查找txt文档中的关键字,并把关键字后面的数据存到起来用matlab处理 我测了一组数据存到txt文件中,是个WIFI信号强度文档,里面有我们需要得到的数据,有没用的数据,想用matla ...

  2. 将mat文件中的数据按要求保存到txt文档中(批处理)

    之前有个老朋友,让帮忙将一个mat中的数据重新保存到txt中,由于数据比较多需要用到批处理,之前弄过很多次,但每次一到要用的时候总是忘记怎么写了,现在记录一下,免得后面老是需要上网搜.这里先说一个比较 ...

  3. C# 将内容写入txt文档

    <1>  FileStream fs = new FileStream(@"D:\text.txt", FileMode.Append); StreamWriter s ...

  4. QTP操作txt文档

    QTP可以在txt文件(文本文件中读取数据) 首先创造一个文档对象 set fso = createObject("scripting.filesystemobject") 然后用 ...

  5. 利用IDL将一个txt文档拆分为多个

    测试.txt文档,每47行的格式相同,通过代码每47行存为一个txt,txt文档命名为其第一行数据. 代码如下: file='G:\data\测试.txt' openr,lun,file,/Get_L ...

  6. WebService 实现BS环境与BS环境传递参数,根据参数生成txt文档

    客户端: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Client.as ...

  7. 将txt文档按行分割

    昨天遇到了一个需求,需要将txt文档按行分割,并指定了行数, 最近在用python,就在网上搜了一下,在参考了http://blog.csdn.net/zhang_red/article/detail ...

  8. 用C++向一个txt文档中写数据

    bool CMaked::WriteFileMake(CString filePath, const char *isChange) { ofstream file; //filePath为该txt文 ...

  9. 一个简易的Python爬虫,将爬取到的数据写入txt文档中

    代码如下: import requests import re import os #url url = "http://wiki.akbfun48.com/index.php?title= ...

随机推荐

  1. pyinstaller打包exe文件闪退的解决办法

    pyinstaller是python下目前能打包py文件为windows下的exe文件的一个非常友好易用的库!但是,小爬每次用pyinstaller打包时也总是遇到一些难题,有时网上搜了一圈,也没看到 ...

  2. 0003 HTML常用标签(含base、锚点)、路径

    学习目标 理解: 相对路径三种形式 应用 排版标签 文本格式化标签 图像标签 链接 相对路径,绝对路径的使用 1. HTML常用标签 首先 HTML和CSS是两种完全不同的语言,我们学的是结构,就只写 ...

  3. kotlin + springboot 整合redis,Redis工具类编写及单元测试

    参考自:  https://www.cnblogs.com/zeng1994/p/03303c805731afc9aa9c60dbbd32a323.html 1.maven依赖 <?xml ve ...

  4. 【他山之石】mysql编码问题总结

    有些问题可能比较基础,但是没有经过系统学习还是可能会出错,记录下. 这次是mysql的编码问题. 背景是部署新的测试环境,给了一台服务器还有在另一个环境下的mysql,配置过程中发现mysql编码有问 ...

  5. mysql:数据库与实例的区别

    题记:最近想更深入的了解mysql,所以买了一些书在学习,趁着这个机会开个坑,整理一下一些我认为重要的知识点. 刚工作那会经常能听到组长提到实例这个词,一开始我以为是服务器... 数据库(databa ...

  6. $CH0601\ Genius\ ACM$ 倍增优化DP

    ACWing Description 给定一个长度为N的数列A以及一个整数T.我们要把A分成若干段,使得每一段的'校验值'都不超过N.求最少需要分成几段. Sol 首先是校验值的求法: 要使得'每对数 ...

  7. 探索 模块打包 exports和require 与 export和import 的用法和区别

    菜单快捷导航: CommonJS 之 exports和require用法 ES6 Module 之 export 和 import 用法 CommonJS和ES6 Module的区别 循环依赖 和 解 ...

  8. 【汇编】AX内容依次倒排序

    ;P99,5.13,ax内容倒序 ;思路,ax左移一位最高位进cf里,bx右移一位把cf里值进bx的最高位, ;循环16次即实现ax16位内容倒序存储在bx中 DATA SEGMENT DATA EN ...

  9. 「2018-11-05模拟赛」T5 传送机 解题报告

    5.传送机(sent.*) 问题描述: 黄黄同学要到清华大学上学去了.黄黄同学很喜欢清华大学的校园,每次去上课时总喜欢把校园里面的每条路都走一遍,当然,黄黄同学想每条路也只走一遍. 我们一般人很可能对 ...

  10. Redis实战 | 持久化、主从复制特性和故障处理思路

    前言 前面两篇我们了解了Redis的安装.Redis最常用的5种数据类型.本篇总结下Redis的持久化.主从复制特性,以及Redis服务挂了之后的一些处理思路. 前期回顾传送门: Linux下安装Re ...