【发布时间】:2017-12-27 16:46:27
【问题描述】:
我想要两个指向 C++ 中同一个文件的指针。
#include <fstream>
int main()
{
double a;
std::ofstream fout1( "out.txt");
fout1 << "CASE A:"<<std::endl;
std::ofstream fout2( "out.txt", std::fstream::app);
fout2 << "CASE B:" <<std::endl;
for (int i=0; i < 3; i++){
a = i*i;
fout1 << a << std::endl;
fout2 << 10+a <<std::endl;
}
return 0;
}
这段代码给我:
CASE A:
0
1
4
11
14
但我想:
CASE A:
0
1
4
CASE B:
10
11
14
在我的真实代码中,变量“a”是一个巨大的计算,所以做一个 double for 不是一个好的解决方案。我想到了 2 个解决方案:
- 使用 double 将“a”保存在向量中;
- 使用两个指向同一个文件的指针(当前问题);
我认为 2 是最好的,那么如何使用两个指针指向同一个文件呢?
【问题讨论】:
-
你想在“0”之前写“CASE B”,但在文件中在“0”之后出现,对吗?