Matlab 与 c++对txt 文档的读写格式

  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);来表征上层目录。

时间: 2024-10-03 22:41:53

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

matlab txt文档读取

下面这个函数是取filein中的第line行写入fileout中的程序,如果想实现取特定几行,只要稍微修改一下就可以. function dataout=dataread(filein,fileout,line) fidin=fopen(filein,'r'); fidout=fopen(fileout,'w'); nline=0;  while ~feof(fidin) % 判断是否为文件末尾 tline=fgetl(fidin); % 从文件读行 nline=nline+1; if nlin

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

用matlab查找txt文档中的关键字,并把关键字后面的数据存到起来用matlab处理 我测了一组数据存到txt文件中,是个WIFI信号强度文档,里面有我们需要得到的数据,有没用的数据,想用matlab查找关键字(SSID),把关键字后面的数字存起来用作后期处理分析,如下图,把ky后面的信号强度数据(那个负数)弄出来.求大神指点应该怎么办,或给程序,谢谢! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 fn = 'my_data.txt'; fid = fo

将txt文档按行分割

昨天遇到了一个需求,需要将txt文档按行分割,并指定了行数, 最近在用python,就在网上搜了一下,在参考了http://blog.csdn.net/zhang_red/article/details/9055965这个帖子后,准备自己改一下 发现原帖代码似乎有点问题,改了下代码如下: # -*- coding: utf-8 -*- import os class SplitFiles(): """按行分割文件""" def __init__(

用python从符合一定格式的txt文档中逐行读取数据并按一定规则写入excel(openpyxl支持Excel 2007 .xlsx格式)

前几天接到一个任务,从gerrit上通过ssh命令获取一些commit相关的数据到文本文档中,随后将这些数据存入Excel中.数据格式如下图所示 观察上图可知,存在文本文档中的数据符合一定的格式,通过python读取.正则表达式处理并写入Excel文档将大大减少人工处理的工作量. 1. 从gerrit获取原始信息,存入文本文档: $ssh –p 29418 <your-account>@192.168.1.16 gerrit query status:merged since:<date

用PHP实现浏览器点击下载TXT文档的方法详解

[[注:其他文件想设置成下载文件,和下面介绍的方法一致]] 由于现在的浏览器已经可以识别txt文档格式,如果只给txt文档做一个文字链接的话,点击后只是打开一个新窗口显示txt文件的内容,并不能实现点击下载的目的.当然这个问题的解决办法也可以是将txt文件改名为浏览器不认识的文件(比如rar),这样的话,由于浏览器不能识别rar类型的文件,只能让用户下载了.还有一种办法,就是利用代码通过header设置文档的格式来实现点击下载的目的. PHP代码如下:======================

串口摄像头得到了一张图像的JPEG数据,我把这些数据复制到txt文档了,想将这些数据变为图像

从串口摄像头得到了一张图像的JPEG数据,我把这些数据复制到txt文档了,想将这些数据变为图像,在VC++中应该怎么做呢?看了一 些资料,有人说直接保存成jpg格式,于是我把文件名的后缀.txt改成了.jpg,但打开时显示“没有预览”.我在VC++中执行了以下程序: FILE *pFile=fopen("tst.txt","rb");//tst.txt为JPEG数据 char *pBuf; fseek(pFile,0,SEEK_END); int len=ftell

如何把Excel中的每一行都存储为一个TXT文档

当Excel中有多行数据时,恰巧我们也需要把每一行数据都存储成一个txt文档,那么我们要手工一个一个Ctrl+c-->Ctrl+v-->Ctrl+s吗?答案是肯定不行的哇,因为本人需要处理一个存储了6万多条数据的文档,为了珍爱生命,那么本人就利用office里的VBA来投机取巧了! 首先利用快捷键Alt+F11,打开Excel的VBA,输入如下代码: Private Sub CommandButton1_Click()     Application.ScreenUpdating = Fals

C# 将内容写入txt文档

<1>  FileStream fs = new FileStream(@"D:\text.txt", FileMode.Append); StreamWriter sw = new StreamWriter(fs, Encoding.Default); sw.Write(strAnalasy); sw.Close(); fs.Close(); <2>  FileStream TreatProcess = new FileStream(@"文件目录&q

网络抓取功能实现 将获取的结果进行过滤并写入到TXT文档中

下面是自己编写的 网络抓取功能实现 将获取的结果进行过滤并写入到TXT文档中 (以防忘记) 原创哟 import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.Inp