C++怎么处理同一文件夹里多个txt文件

#include "stdafx.h"
#include <fstream>
#include<iostream>
#include<iomanip>
#include<cstring>
#include<cstdlib>
using namespace std;
int main()
{
//ofstream cout("C:\\Users\\Administrator\\Desktop\\GM.txt", ios::out);///输出

char c;
int line = 1;
fstream fin1("11111.txt", ios::in);
if (!fin1)
{
cerr << "不能打开文件" << endl;
system("pause");
return -1;
}
cout << "读取成功!" << endl;

while (fin1.get(c))
{
if (c == '\n')
line++;
}
cout << "txt文本一共" << line << "行!" << endl;
//txt文件最后一定不能有空白行,否则行数错误!!!

ifstream fileinput;

fileinput.open("C:\\11111.txt");

double **data;
data = new double*[line];
for (int i = 0; i < line + 1; ++i)
{
data[i] = new double[10];
}

//多建立了一行一列 否则Run-Time Check Failure #2 - Stack around the variable 'fileinput' was corrupted.

for (long i = 1; i <= line + 1; i++)
{

for (int j = 1; j <= 9; j++)

{

fileinput >> data[i][j];

}

}
fileinput.close();
ofstream write;
write.open("text.txt");
cout << "股票名称" << data[1][1] << endl;
write << "股票名称" << data[1][1] << endl;

//用来计算收盘价格之和
double a = 0;
for (int b = 2; b <= 244; b++)
{
a += data[b][7];
}
cout << std::fixed << setprecision(2) <<"收盘价格之和"<< a << '\n' << endl;
write << std::fixed << setprecision(2) << "收盘价格之和" << a << '\n' << endl;
//用来设置量比的大小
double ratio;
cout << "请设置量比的值:";
write << "请设置量比的值:";
cin >> ratio;
write << ratio << endl;
//下一段函数用来求每5天的成交量的均值

double aver[240];

for (int d = 1; d <= 239; d++)
{
aver[d] = (data[d + 1][8] + data[d + 2][8] + data[d + 3][8] + data[d + 4][8] + data[d + 5][8]) / 5;
}
//验证平均值是否正确,可以不用输出
for (int i = 1; i <= 239; i++)
{
cout << "成交量第" << i << "天到第" << i + 4 << "天的平均值如下:" << aver[i] << endl;
}
//判断是否放量,并输出日期

int total = 0;
for (int today = 7; today <= 244; today++)
{
if (data[today][8] / aver[today - 6] >= ratio)
{
total++;
cout << std::fixed << setprecision(0) << "日期:" << data[today][1] << "/" << data[today][2] << "/" << data[today][3]
<< "放量了" << endl;
write << std::fixed << setprecision(0) << "日期:" << data[today][1] << "/" << data[today][2] << "/" << data[today][3]
<< "放量了" << endl;
}
}
cout << "一共" << total << "天放量了!" << endl;
write << "一共" << total << "天放量了!" << endl;

write.close();

system("pause");
return 0;

}
我的意思是处理完11111.txt这个文件后,让程序自动继续执行下一个txt文件,不用修改程序

如果文件名不是预先知道的,可以使用windows的api FindFirstFile等,去查找相应的文件
~~~~~~~~~~~
温馨提示:内容为网友见解,仅供参考
无其他回答

用c++批量处理同一个文件夹里的txt文件
BOOL res=files.FindFile(要查找的目录字符串:格式为C:\\\\*.*);while(res){ res=files.FindNextFile();if(files.IsDirectory() && !files.IsDots())\/\/如果是一个子目录 { 找到的目录路径=files.GetFilePath();} else if(!files.IsDirectory() && !files.IsDots())\/\/是文件 { 文件名=fi...

如何用c++ 清空同一文件夹下的txt文件
你可以使用只写方式来写入一人空的字符,从而达到清除的目的,只写方式是w,如果要在原文件的基础上继续写,则应该用追加方式。下面给你一个例子。使用只写方式w(会清除原来的内容,按你的要求,只要写入一个空的字符就可以)include<stdio.h> void main(){ FILE *fp;if((fp=fopen("txxt.txt"...

怎么用c++将一个文件夹中的所有的TXT文件同时读取,(文件名有规律)
使用for循环加文件操作函数即可读取txt文件当中的数组。1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fsee...

C++怎么读取某文件夹中所有的.txt文件
\/\/dirpath为你要查找的文件件绝对路径,如txt在D盘文件夹名为1的情况下,即输入:\/\/std::string = "D:\\\\1\\\\";\/\/std::vector<std::string> filepaths\/\/为所有txt的文件名称,这是输出参数 \/\/std::string regular_expression_input = "*.txt";\/\/你写一个主函数即可使用。int get_filename...

用C++打开当前文件夹当中的TXT文件
如果是在代码中打开文件,就用fopen("X.txt","r");如果是窗口打开文件,就用:char szAppPath[MAX_PATH];GetModuleFileName(NULL, szAppPath, MAX_PATH);(strrchr(szAppPath, '\\\\'))[1] = 0;strcat(szAppPath, "X.txt");system("szAppPath");...

C++ 删除一个文件夹中的部分文件
file.delete("d:\\\\a.txt");\/\/删除文件d:\\\\a.txt directory.delete("d:\\\\a\\\\b",true);\/\/删除文件夹d:\\\\a\\\\b

如何用c或者c++将一个文件夹里的所用文件合并成一个文件
不用编程,直接用输出重定向就可以解决 windows下,进入cmd 进入到该文件夹:for %f in (*.txt) do type %f >> newfile 这样就会所有的.txt文件合并成一个newfile了

一个c++程序中包涵多个文件时咋写啊 最好有一个例子
实现文件里写上头文件的引用。如main函数的文件为 a.cpp,有一个实例文件为b.cpp,b的头文件为b.h,b的cpp文件里写#include"b.h",有一个实例文件为c.cpp,b的头文件为c.h,c的cpp文件里写#include"c.h",则a.cpp文件前面包含这两个文件 include"b.h"include"c.h"...

C++:怎样打开一个文件夹下一系列的文件夹,每个文件夹包含一个文件
这个可以用MFC的一个CFileFind类 FILE *pFile=NULL;CFileFind cff;CString fstr="C:\\\\page\\\\*.*"\/\/所以用文件和文件夹,查找网页可用*.html BOOL IsMore=cff.FindFile(fstr);while(IsMore)\/\/循环遍历当前目录 { pFile=fopen(cff.GetFilePath(),"rb");\/\/对打文件进行读取 IsMore=cff.Find...

怎么用C\\C++实现对 一个文件夹所有文件的遍历
CFileFind finder;BOOL bWorking = finder.FindFile(%%1+"\\\\*.*");while (bWorking){ bWorking = finder.FindNextFile();if (finder.IsDirectory()){ \/\/finder.GetFilePath();所有文件夹 } else if(finder.IsDots()){} else { \/\/finder.GetFilePath();所有文件 } } ...

相似回答