按任意键继续提示怎么办?

How to do press any key to continue prompt?

我正在编写一个程序,其中的代码从 .txt 文件中读取文本,其中超过 24 行的内容必须使用回车键继续,但不确定如何输入要求回车键的提示这不会弄乱格式,因为它必须立即显示前 24 行。

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
....    

{
    cout << "Please enter the name of the file: ";
    string fileName;
    getline(cin, fileName);

    ifstream file(fileName.c_str(), ios::in);

    string input;
    ifstream fin(fileName);
    int count = 0;

    while (getline(fin, input))
    {
        cout << count << ". " << input << '\n' ;
        count++;
        if (count % 25 == 0)
            cin.get();
    }
    cin.get();
    system("read");
    return 0;
}

执行功能的代码部分,如果我在此处插入提示

if (count % 25 == 0)
cout << "Press ENTER to continue...";
cin.get(); 

它只是在你必须为每一行按回车键的地方。将提示放在任何地方只会以其他方式弄乱它。

只需为适当的 if 放置大括号 {}(正如评论中指出的那样),您的程序就会运行。

另请注意,无需像在程序中那样使用两次 ifstream

#include <fstream>
#include <string>
#include <iostream>
   
int main()
{

    std::string fileName;
    std::cout<<"Enter filename"<<std::endl;
    std::getline(std::cin, fileName);
    
    std::ifstream file(fileName);

    std::string line;
    int count = 1;
    if(file)
    {
        while (std::getline(file, line))
        {
            std::cout << count << ". " << line << '\n' ;
            
            if (count % 25 == 0)
            {
               std::cout<<"Press enter to continue"<<std::endl;
                std::cin.get();
            }
            count++;
        }
    }
    else 
    {
        std::cout<<"file cannot be opened"<<std::endl;
    }
      
    return 0;
}