一次写入多个文件
writing to multiple files at a time
我想在循环中创建多个文件并在其中写入一些内容。我做了如下代码但是它只创建一个名为"1"的文件,而不是五个文件(从1到5):
#include <fstream>
#include<iostream>
using namespace std;
int main(){
FILE *fp;
ofstream os;
char i;
char fileName[] = "0.txt";
for(i='1';i<='5';i++)
{
fileName[0]=i;
.
os.open (fileName);
os<<"Hello"<<"n";
}
}
代码有什么问题吗?我怎样才能拿到那五份文件?
std::ofstream::open的引用特别声明:
Open file打开由参数filename, associated标识的文件它与流对象配合,使输入/输出操作都能进行按其内容执行。参数mode指定开始模式。
如果流已经与一个文件相关联(即,它已经是打开),则调用此函数失败。
你从来没有在循环中关闭你正在处理的文件,所以open
第二次第五次失败。
添加:
for(i='1';i<='5';i++)
{
fileName[0]=i;
os.open (fileName);
os<<"Hello"<<"n";
os.close();
}
同时,您应该检查open()
是否成功:
for(i='1';i<='5';i++)
{
fileName[0]=i;
os.open (fileName);
if(os) // checks if open() succeeeded
{
os<<"Hello"<<"n";
os.close();
}
}
#include <fstream>
#include <iostream>
using namespace std;
int main() {
ofstream os;
char fileName[] = "0.txt";
for(int i = '1'; i <= '5'; i++)
{
fileName[0] = i;
os.open(fileName);
os << "Hello" << "n";
os.close();
}
}
相关文章:
- 在C++中一次将矢量值写入多个文件
- 在一次迭代中从 txt 文件中读取多行
- 在头文件和 cpp 文件中使用一次 #pragma 时出现结构重定义错误
- 如何使用C++一次读取整个二进制文件
- C++,从文件读取到结构,然后读取到向量(结构被推入向量太多次,而不仅仅是一次)
- 如何遍历几个每小时一次的根(.root)文件,并将它们组合成更大的每日数据.root文件?
- 调用函数一次用于动态链接库,一次从可执行文件调用函数
- ifstream不会在下一次迭代中打开文件
- 汇总然后平均 txt 文件中每 10 行一次
- 如何从文本文件中一次读取一个字符
- 一次包含一个 #include 表达式的多个头文件?
- 传输文件一次又一次地发送相同的字节
- 无法一次从二进制文件中读取一个 int
- 使用 #pragma 一次,#ifndef 在同一文件中包含保护
- 如何从 int 一次写入一个字节的文件?C++
- 在循环工作时,首先将两个文件读为向量,但仅次于迭代一次
- 一次读取一个字符的文件,直到使用 read(2) 和 write(2) 换行符
- 一次又一次地重建以查看导入的 QML 文件更改
- C++一次从文本文件中获取每 2 个整数作为对
- 包含保护:为什么C++编译器不自动只包含每个头文件一次?