图1 文件个数及名称

图2 文件内容

背景:如图1所示,现有9个要处理的文件,每个文件的内容格式如图2所示,仅仅只是数值部分不同。

问题:如何提取每个文件中的相同属性的数值到同一个文件中?

输出示例:如将ExpectedCalue属性的每个数值提取到另一个文件中,格式为

实现代码

#include <stdlib.h>
#include <fstream>
#include<iostream>
using namespace std; void GetNumber(char buf[], int order, char path[])//截取数字(存放地址、位置、文件路径)
{
int start,end;
ifstream file(path);
for (int i=1; i<=order; i++)
{
while (file.get() != '=');
start = file.tellg();
//std::cout<<file.tellg()<<std::endl; while (file.get() != 'E');
end = file.tellg();
//std::cout<<file.tellg()<<std::endl;
}
file.seekg(start+1);
file.get(buf,end-start);
file.close();
} void WriteToFile(char buf[], float xorder, char path[])//截取数字(存放地址、位置、文件路径)
{
ofstream file(path,ios::app);
file<<xorder<<"\t"<<buf<<std::endl;
file.close();
} void main()
{
char ch;
char *buf = new char [100]; char *FileName = new char [100];
char *address = new char [100];
float sum;
for (int i=1; i<=9; i++)
{
sum = 0;
sprintf(FileName,"C:\\timenet\\models\\SYS.dir\\%.1f.RESULTS",0.5*i);
std::cout<<FileName<<std::endl;
for (int j=1; j<=9; j++)
{
GetNumber(buf,j,FileName);
std::cout<<buf<<std::endl;
if (j == 1)
{
sprintf(address,"C:\\timenet\\models\\SYS.dir\\ExpectedValue.txt");
WriteToFile(buf, 0.5*i, address);
}
else if (j == 3)
{
sprintf(address,"C:\\timenet\\models\\SYS.dir\\EVsleep.txt");
WriteToFile(buf, 0.5*i, address);
}
else if (j == 4)
{
sprintf(address,"C:\\timenet\\models\\SYS.dir\\EVa2s.txt");
WriteToFile(buf, 0.5*i, address);
}
else if (j == 5)
{
sprintf(address,"C:\\timenet\\models\\SYS.dir\\EVS2D.txt");
WriteToFile(buf, 0.5*i, address);
}
else if (j == 9)
{
sprintf(address,"C:\\timenet\\models\\SYS.dir\\EVService.txt");
WriteToFile(buf, 0.5*i, address);
}
}
}
delete []buf;
delete []FileName;
delete []address;
system("pause");
}

  

C++ 文件操作实例的更多相关文章

  1. Java最全文件操作实例汇总

    本文实例汇总了Java文件操作.分享给大家供大家参考,具体如下: 1.创建文件夹 ? 1 2 3 4 5 6 7 8 9 10 11 //import java.io.*; File myFolder ...

  2. Python(文件操作实例)

    给定一个文件:以及给定的字符,比如“a”; 统计字符个数:(可选) # 文件的打开操作f = open("wyl.txt","r")# 文件的读取操作conte ...

  3. python文件操作实例

    把目录 E:\ 下面所有 后缀名为 .py 的 文件复制到 E:\PyLearn #coding:utf-8 import os import shutil def getfile(srcDir,ds ...

  4. C#中简单的文件操作实例

    using System; using System.IO; namespace Demo { class Program { static string tmpPath = @"D:/Lg ...

  5. GO语言 文件操作实例

    package main import ( "bufio" "fmt" "io/ioutil" "os" ) func ...

  6. Path文件操作实例

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AddProduct.asp ...

  7. HTML5 本地文件操作之FileSystemAPI实例(二)

    文件操作实例整理二 1.删除文件.复制文件.移动文件 //获取请求权限 window.requestFileSystem = window.requestFileSystem || window.we ...

  8. HTML5 本地文件操作之FileSystemAPI实例(一)

    文件操作实例整理一 1.请求系统配额类型 console.info(window.TEMPORARY); //0 临时 console.info(window.PERSISTENT); //1 持久 ...

  9. python从入门到大神---4、python3文件操作最最最最简单实例

    python从入门到大神---4.python3文件操作最最最最简单实例 一.总结 一句话总结: python文件操作真的很简单,直接在代码中调用文件操作的函数比如open().read(),无需引包 ...

随机推荐

  1. flex实现股票行情走势图

    原文 http://blog.csdn.net/shenjiancomputer/article/details/8051873 第一步: jsp:1 <%@page import=" ...

  2. Linux下查找最大文件

    当我们应用一段时间以后,Linux可能会变得臃肿了,那么,怎么找出一个“path”下的最大文件呢? 可以使用du命令,如: du -sh [dirname|filename] 如:当前目录的大小: d ...

  3. mysql数据库学习(一)--基础

    一.简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 R ...

  4. Floodlight中 处理packetin消息的顺序(1)

    当Controller和SW建立连接之后,就能够处理来自SW的各种OF msg.当接收到 packetin 消息之后,会将其分发给各个监听了这个OFMessage的listeners,所以假设我们要设 ...

  5. 【Struts2学习笔记(1)】Struts2中Action名称的搜索顺序和多个Action共享一个视图--全局result配置

    一.Action名称的搜索顺序 1.获得请求路径的URI,比如url是:http://server/struts2/path1/path2/path3/test.action 2.首先寻找namesp ...

  6. 【Android】自带Theme

    [Android]自带Theme android之uses-permission   在编写Android程序时经常会忘记添加权限,下面是网上收集的关于Android uses-permission的 ...

  7. C# 数据库dataGridView刷新数据和主外键判断

    本文主要讲诉在使用VS2012+SQL Server数据库做系统中,通常会遇到几个问题.使用dataGridView控件在修改.删除.插入数据后,怎样刷新数据显示操作后的结果.同时在对数据操作时通常会 ...

  8. 【Sharepoint】CSS与Master Page的开发与部署

    一.CSS的开发与部署相对比较简单,先是要上传CSS文件到样式库中,然后在页面模板中将上传的自定义CSS样式文件设置为所有文件的默认css文件.下面详细的介绍CSS文件的开发与部署过程. 1.编写自定 ...

  9. LINUX下查看CPU使用率的命令[Z]

    1.top 使用权限:所有使用者 使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b] 说明:即时显示process的动态 d :改变显示的更新速度,或 ...

  10. getDeclaredFields()和getFields()

    getFields()获得某个类额的所有的公共(public)的字段,包括父类. getDeclaredFields()获得某个类的所有申明的字段,即包括public.private和proteced ...