c_cpp 从文件中读取并做一些事情
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 从文件中读取并做一些事情相关的知识,希望对你有一定的参考价值。
#include <iostream>
#include <fstream>
using namespace std;
struct Gas
{
int counterID;
double quantity;
};
istream& operator>>(istream& in, Gas& g)
{
if (in)
{
int id;
double q;
in >> id >> q;
if (in)
{
g.counterID = id;
g.quantity = q;
}
}
return in;
}
// Ако трябва да четем от двоичен файл
//
// bool load (ifstream& in, Gas& g)
// {
// if (! in) return false;
// in.read ((char*) &g, sizeof(g));
// return in.good();
// }
double totalForCounter (int counterID, double ppl, ifstream& in)
{
if (!in) return 0;
Gas gas;
double total;
// while (load(in, gas))
while (in >> gas)
{
if (gas.counterID == counterID)
{
total += gas.quantity * ppl;
}
}
return total;
}
double average (int counterID, ifstream& in)
{
double avg = 0;
if (!in) return avg;
Gas gas;
size_t count = 0;
in.clear();
in.seekg(0, ios::beg);
if(!in) return 0;
while (in >> gas)
{
if (gas.counterID == counterID)
{
avg += gas.quantity;
count++;
}
}
return (avg/count);
}
void writeAvg()
{
ofstream output("file.txt", ios::ate | ios::binary);
if (!output) return;
size_t maxCounterID = getMaxCounterID(in);
for (size_t i = 1; i < maxCounterID; ++i)
{
output.seekp((i-1)*sizeof(Gas), ios::beg);
double a = average(i, in);
output.write((const char*)&a, sizeof(a));
}
}
以上是关于c_cpp 从文件中读取并做一些事情的主要内容,如果未能解决你的问题,请参考以下文章
我在 s3 中有 .dat 文件。我需要通过 spark 读取文件并做一些过滤器并再次加载到 S3
检测麦克风中的打击并做一些事情
c_cpp 从文件中读取
php 获得WP后分类和循环并做一些事情
Linux脚本练习之script035-读取 `a.c` 文件中的内容并做加 1 运算。
如何强制 GetQueuedCompletionStatus() 立即返回?