如何以指定格式读取C 中的多个TXT文件
how to read multiple txt files in c++ in a specified format.?
i在C 中有一个代码,该代码从目录中读取多个TXT文件。但是文件以指定格式,即ABC01.TXT,ABC02.TXT,ABC03.TXT .....,ABC99.TXT。
我可以以格式读取文件,abc1.txt,abc2.txt,abc3.txt .....,abc99.txt。使用我的代码。问题是我无法阅读整数值01至09。
请帮助我如何编辑代码并读取所有文件。
我的代码:
for(files=1;files<=counter;files++)
{ stringstream out;
out<<files;
infile="./input/abc"+out.str()+".txt";
input.open(infile.c_str());
}
这可能是一个肮脏的修复程序,但是您可以添加一个其他条件,以将文本文件ABC01处理到ABC09
for(files=1;files<=counter;files++)
{ stringstream out;
out<<files;
if(files<10){
infile="./input/abc0"+out.str()+".txt";
}
else
infile="./input/abc"+out.str()+".txt";
input.open(infile.c_str());
}
您可以使用std :: sprintf格式化字符串,例如
for (int filenum=1; filenum<=counter; filenum++) {
char nambuf[64];
std::snprintf(nambuf, sizeof(nambuf), "./input/abc%02d.txt", filenum);
std::ifstream infile;
infile.open(nambuf);
我建议花更多的时间阅读C 标准库的文档。
您可以使用 std::setw
和 std::setfill
io操纵器来确保您的电话格式至少为两个数字:
for(int file = 1; file <= counter; file++) {
std::ostringstream filename;
filename << "./input/abc" << std::setw(2) << std::setfill('0') << file << ".txt";
std::ifstream input(filename.str());
}
在此处插入std::setw(2)
确保格式的格式至少为两个字符,并且std::setfill('0')
在格式化数字时用'0'
填充任何缺失的字符。
相关文章:
- 如何将 txt 文件中的行分隔为组件C++
- 在CMakeLists.txt的安装功能中使用.cmake文件有什么用
- 一种在C++中读取TXT配置文件的简单方法
- 无法打开.txt文件
- 如何使用CLion在Mac上创建一个新的.txt文件
- 我可以读取静态对象中的文件.txt吗?C++
- C++-需要读取存储在文件(.txt)中的时间戳并正确检索
- 具有文件.txt的 C++ 中的设置
- 如何在 CMakeList 中包含 h/hpp 头文件.txt而不是 cpp 或其他 hpp 文件
- 使用函数读取文件.txt中的矩阵
- 任何人都知道如何解决尝试将从MySQL数据库返回的行打印到文本文件(.txt)中的C++
- 读取文件.txt C
- 为什么我的方法不从文件.txt中读取float类型
- 如何读取名称(仅文件.txt)作为参数传递的文件(在任何目录中)?C++
- 读取文件".txt"并将每行的数据分配给循环列表中的新节点C++
- 如何用C++将字符串文件Txt解析成数组
- 如何在c++中读取和编辑文件txt
- 从文件.txt读取字符串数组并使用它来玩康威的生命游戏
- 导入文件txt时出错
- 如何仅读取文件.txt中的数字