如何创建一个读取多个文件的函数
How to create a function that reads in multiple files?
嗨,我正在开发一个应用程序,我想创建一个读取文件的函数交货。
readFiles()
{
f1, f2=NULL, f3=NULL;
}
但是我很难加载多个文件。我想做一个函数,读取文件并将它们设置为一个指定的变量,以便在我的程序中的其他函数中使用。任何帮助或想法都会很棒。再次感谢!这不是家庭作业
我个人会从编写一个可以读取一个文件的函数开始。从另一个知道需要读取哪些文件的函数调用该函数。
例如,假设文件不是非常大(gb大),您可以执行一个函数,将文件读入单个字符串:
std::string readfile(std::string name)
{
ifstream f(name.c_str());
std::stream tmp;
std::stream res;
while(getline(f, tmp)
{
res += tmp;
}
return res;
}
void somefunc()
{
std::string file1 = readfile("file1.txt");
std::string file2 = readfile("file2.txt");
}
当然,如果文件是一个整数列表,您可能希望将数据读入整数向量。如果内容比较复杂,读入vector或struct或类也可以。但基本原则仍然适用(当然,假设这几个文件具有相同的一般内容类型)。
您看过ifstream
了吗?看这里:http://www.cplusplus.com/reference/fstream/ifstream/ifstream/
你是在传递流给函数还是实际的文件名?您需要为多个文件创建多个流,除非您想一次处理一个文件。你必须这样做:
ifstream nameOfStream ("Name of File");
创建流。你甚至不需要在函数中这样做。如果你有所有的文件名,你可以这样做:
ifstream stream1(file1);
ifstream stream2(file2);
ifstream stream3(file3);
编辑:如果你想用一个流来做:
ifstream stream1(file1);
//Do something with stream
stream1.close();
stream1.open(file2);
相关文章:
- C++从 std::async 函数读取命名空间中的全局变量标志
- 使用函数读取文件.txt中的矩阵
- 函数读取最大和min int值,并用文本字符串返回
- 如何使用 void 函数读取名字和姓氏
- 使用 getline 函数读取文件,但第一列显示为空
- 如何从函数读取返回值
- 使用函数C++读取文件
- 使用比较运算符和字符串比较函数读取文本文件的子部分时出现问题
- 其中是升压套接字的函数读取
- 单链表添加函数-读取访问冲突
- 在使用 imread 函数读取 jpg 文件时,是否有任何可能的理由在 opencv 中遇到一些困难
- 使用成员函数读取C++中的文件
- 是否可以使用stdio函数读取Windows应用商店应用程序中的资产
- 函数读取输入并运行函数两次
- C++ 在 main 中打开一个文件以供函数读取
- 函数读取进程内存不断返回ERROR_PARTIAL_COPY
- 如何确定未格式化输入函数读取的字符数
- 为什么我不能使用此 scanf 函数读取输入字符串?
- 使用递归函数读取txt文件的行
- 函数读取二进制文件使用v8