Matlab 与 c++对txt 文档的读写格式
- 学习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 文档的读写格式的更多相关文章
- 用matlab查找txt文档中的关键字,并把关键字后面的数据存到起来用matlab处理
用matlab查找txt文档中的关键字,并把关键字后面的数据存到起来用matlab处理 我测了一组数据存到txt文件中,是个WIFI信号强度文档,里面有我们需要得到的数据,有没用的数据,想用matla ...
- 将mat文件中的数据按要求保存到txt文档中(批处理)
之前有个老朋友,让帮忙将一个mat中的数据重新保存到txt中,由于数据比较多需要用到批处理,之前弄过很多次,但每次一到要用的时候总是忘记怎么写了,现在记录一下,免得后面老是需要上网搜.这里先说一个比较 ...
- C# 将内容写入txt文档
<1> FileStream fs = new FileStream(@"D:\text.txt", FileMode.Append); StreamWriter s ...
- QTP操作txt文档
QTP可以在txt文件(文本文件中读取数据) 首先创造一个文档对象 set fso = createObject("scripting.filesystemobject") 然后用 ...
- 利用IDL将一个txt文档拆分为多个
测试.txt文档,每47行的格式相同,通过代码每47行存为一个txt,txt文档命名为其第一行数据. 代码如下: file='G:\data\测试.txt' openr,lun,file,/Get_L ...
- WebService 实现BS环境与BS环境传递参数,根据参数生成txt文档
客户端: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Client.as ...
- 将txt文档按行分割
昨天遇到了一个需求,需要将txt文档按行分割,并指定了行数, 最近在用python,就在网上搜了一下,在参考了http://blog.csdn.net/zhang_red/article/detail ...
- 用C++向一个txt文档中写数据
bool CMaked::WriteFileMake(CString filePath, const char *isChange) { ofstream file; //filePath为该txt文 ...
- 一个简易的Python爬虫,将爬取到的数据写入txt文档中
代码如下: import requests import re import os #url url = "http://wiki.akbfun48.com/index.php?title= ...
随机推荐
- 微信支付-小程序H5 公众号 Payment SDK
前言 今天是2020年一天,去年最后一个月开发了订单和支付系统,尤其在支付系统和微信对接的时候遇到了很多坑,这里给大家总结下,以免大家遇到相同的问题还浪费大量时间 微信支付前期准备 微信商户号,需要商 ...
- WPF 窗体快捷键(热键)
前言:在WPF项目开发当中,遇到了需要用到快捷键的需求,于是对热键做了一个快速学习,但是这方面的资源很少... 热键大致分为三种场景,下面用QQ的使用场景举例: 全局热键:QQ的Ctrl+Alt+A截 ...
- 选题Scrum立会报告+燃尽图 02
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8680 组长:杨天宇 组员:魏新,罗杨美慧,王歆瑶,徐丽君 组名:组长 第 ...
- 洛谷$P1712\ [NOI2016]$区间 线段树
正解:线段树 解题报告: 传送门$QwQ$ $umm$很久以前做的了来补个题解$QwQ$ 考虑给每个区间按权值($r-l$从大往小排序,依次加入,然后考虑如果有一个位置被覆盖次数等于$m$了就可以把权 ...
- 洛谷$P2050\ [NOI2012]$美食节 网络流
正解:网络流 解题报告: 传送门$QwQ$ 昂开始看到$jio$得,哇长得好像上一题嗷$QwQ$ 然后仔细康康数据范围,发现,哇好像要几万个点,,,显然就$GG$了 但感$jio$思路方向好对的亚子? ...
- highlight.js代码风格引入方法
<link href="https://cdn.bootcss.com/highlight.js/9.15.10/styles/darcula.min.css" rel=&q ...
- linux(raspbian)下mysql的安装,权限设置和用户管理
一 MySQL安装:(1) 使用apt-get安装, 由于raspbian是基于Debian的自由操作系统,debian默认自带apt-get指令安装应用因此可以使用来安装 sudo apt-get ...
- (openssh、telnet、vsftpd、nfs、rsync、inotify、samba)
(openssh.telnet.vsftpd.nfs.rsync.inotify.samba) 一:OpenSSH服务与Telnet服务(必须掌握) 前言:OpenSSH是加密传输,Telnet是明文 ...
- 更加清晰的TFRecord格式数据生成及读取
TFRecords 格式数据文件处理流程 TFRecords 文件包含了 tf.train.Example 协议缓冲区(protocol buffer),协议缓冲区包含了特征 Features.Ten ...
- Vue 编程式的导航
1.应用场景 在同一路由的情况下,不同的参数之间进行切换 注意:别忘记初始化路由页面 2.用法 a.定义方法 b.实现方法 c.初始化路由页面 3.案例 <template> <di ...