⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ap_f107.cpp

📁 用C++实现大容量数据的快速读入文件
💻 CPP
字号:
#include <iostream>
#include <fstream>
#include <string>
#include <stdlib.h>
using namespace std;
#define ValidLine 10593  //19820101

void main()
{
	ifstream ApF107;               //声明文件输入流ApF107
	ofstream APF107Write("ApF107.dat");
	char FileRead[] = "F107.dat";
	string Flux;
	char year[4], month[2], day[2], AP1[3], AP2[3], AP3[3], AP4[3], AP5[3], 
		AP6[3], AP7[3], AP8[3], APMean[3], F107[5], F107Mean[5];
	int i, line=0;

	ApF107.open(FileRead);
	if ( !ApF107.is_open() )      //判断文件是否成功打开
	{
		cout << "Error!The file can not open!" << endl;
		exit(1);
	}
	else
	{
		while ( !ApF107.eof() )
		{
			getline(ApF107, Flux);
			line++;

			for(i=0; i<4; i++)
				year[i] = Flux[i];
			for(i=4; i<6; i++)
				month[i-4] = Flux[i];
			for(i=6; i<8; i++)
				day[i-6] = Flux[i];
			for(i=33; i<36; i++)
				AP1[i-33] = Flux[i];
			for(i=36; i<39; i++)
				AP2[i-36] = Flux[i];
			for(i=39; i<42; i++)
				AP3[i-39] = Flux[i];
			for(i=42; i<45; i++)
				AP4[i-42] = Flux[i];
			for(i=45; i<48; i++)
				AP5[i-45] = Flux[i];
			for(i=48; i<51; i++)
				AP6[i-48] = Flux[i];
			for(i=51; i<54; i++)
				AP7[i-51] = Flux[i];
			for(i=54; i<57; i++)
				AP8[i-54] = Flux[i];
			for(i=57; i<60; i++)
				APMean[i-57] = Flux[i];
			for(i=67; i<72; i++)
				F107[i-67] = Flux[i];
			for(i=73; i<78; i++)
				F107Mean[i-73] = Flux[i];

//			cout << Flux << endl;

			if(line>=ValidLine)
			{
				for(i=0; i<4; i++)
					APF107Write << year[i];
				APF107Write << '\t';
				for(i=0; i<2; i++)
					APF107Write << month[i];
				APF107Write << '\t';
				for(i=0; i<2; i++)
					APF107Write << day[i];
				APF107Write << '\t';
				for(i=0; i<3; i++)
					APF107Write << AP1[i];
				APF107Write << '\t';
				for(i=0; i<3; i++)
					APF107Write << AP2[i];
				APF107Write << '\t';
				for(i=0; i<3; i++)
					APF107Write << AP3[i];
				APF107Write << '\t';
				for(i=0; i<3; i++)
					APF107Write << AP4[i];
				APF107Write << '\t';
				for(i=0; i<3; i++)
					APF107Write << AP5[i];
				APF107Write << '\t';
				for(i=0; i<3; i++)
					APF107Write << AP6[i];
				APF107Write << '\t';
				for(i=0; i<3; i++)
					APF107Write << AP7[i];
				APF107Write << '\t';
				for(i=0; i<3; i++)
					APF107Write << AP8[i];
				APF107Write << '\t';
				for(i=0; i<3; i++)
					APF107Write << APMean[i];
				APF107Write << '\t';
				for(i=0; i<5; i++)
					APF107Write << F107[i];
				APF107Write << '\t';
				for(i=0; i<5; i++)
					APF107Write << F107Mean[i];
				APF107Write << endl;
			}
		}
	}
	cout << sizeof(double) << endl;
	
	ApF107.close ();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -