C++ 为什么我的输出txt文件为空,打开文本文件时没有收到错误

C++ 为什么我的输出txt文件为空,打开文本文件时没有收到错误,c++,ofstream,C++,Ofstream,我试图弄明白为什么我的ofstream不会在txt文件中打印任何内容。txt文件创建成功,打开该文件时我没有收到任何错误。但当我打开它时,它是空的。ifstream文件也已成功打开并读取,没有错误。我在下面包含了一些代码: 开启和检查 outfile.open(outName.c_str()); if(outfile.fail()) { cout也许您应该关闭该文件以将缓冲区字符刷新到该文件中。请添加一个缓冲区。您是否检查了infle是否已正确打开?请先尝试输出到stdout。std::fstr

我试图弄明白为什么我的ofstream不会在txt文件中打印任何内容。txt文件创建成功,打开该文件时我没有收到任何错误。但当我打开它时,它是空的。ifstream文件也已成功打开并读取,没有错误。我在下面包含了一些代码:

开启和检查

outfile.open(outName.c_str());
if(outfile.fail())
{

cout也许您应该关闭该文件以将缓冲区字符刷新到该文件中。

请添加一个缓冲区。您是否检查了infle是否已正确打开?请先尝试输出到stdout。
std::fstream
使用RAII。当对象被销毁时,该文件将关闭。
 outfile.open(outName.c_str());
if(outfile.fail())
{
    cout << "Cannot open output file .Aborting "<<endl;
    exit(1);
}
 char ch;
int count=0;
infile.get(ch);
while(!infile.eof())
{
    ch=tolower(ch);
    if(ch >= 'a' && ch <= 'z')
    {
        count++;
        if(count<=8)
            outfile << ch;

    }
    else
    {
        if(ch == ';')
        {
            outfile << ch;
            count = 0;
        }
    }
    infile.get(ch);
}