【发布时间】:2012-03-31 03:30:15
【问题描述】:
这是我的代码:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream ifile ("input.dat", ios::in);
ofstream ofile ("output.dat",ios::out);
int num;
ifile >> num;
ofile << num;
ofile << endl;
ofile << "Did we go to new line?";
ofile << endl;
return 0;
}
问题是,output.dat 中的所有内容都在同一行。我该如何解决这个问题?
谢谢!
编辑:我使用 Windows 查看文件并使用 Linux 进行编译。这就是我遇到这个问题的原因。在 Linux 端使用 cat output.dat 查看文件内容会发现当时 Windows 和 Linux 换行符是不同的。
【问题讨论】:
-
Inconceivable。你确定 output.dat 只有一行吗?你怎么检查?另外,您使用的是什么操作系统和编译器?
-
我正在使用 windows 和记事本检查输出文件。
-
+1 为可编译示例。我刚刚使用 VS2010 编译并运行了它,并且换行符正确显示(我的“input.dat”包含“4\n”)。你的编译器是什么?
-
我们的编译命令是 g++ -Wall source.cpp -o test 我假设我正在使用一个名为 g++ 的编译器?
标签: c++ ofstream line-breaks