有没有一种方法可以将getline()与外部文本文件一起使用,然后获取cin的控制权,以便从控制台获取输入? 我是C++新手,想知道有什么方法可以使用标准的IoSoW读取输入文件(使用调试属性:

有没有一种方法可以将getline()与外部文本文件一起使用,然后获取cin的控制权,以便从控制台获取输入? 我是C++新手,想知道有什么方法可以使用标准的IoSoW读取输入文件(使用调试属性:,c++,visual-studio,input,cin,C++,Visual Studio,Input,Cin,我将文件读取部分分离到一个不同的函数中,但当我在项目属性中指定命令以使用getline()逐行获取文件内容时,它似乎跳过了我稍后发出的任何cin命令 我确信这可能只是一个设置问题,或者我可能需要在项目中以某种方式将其中断到另一个程序中?这是一个控制台应用程序,但肯定有一种方法可以在同一个项目中同时实现这两个功能 我已经知道,不能同时使用CIN和GETLIN,但是如何输入文件,然后在VisualStudio. C++应用程序中向用户请求更多信息? 用于文件读取的单独程序和函数 'int lineI

我将文件读取部分分离到一个不同的函数中,但当我在项目属性中指定命令以使用getline()逐行获取文件内容时,它似乎跳过了我稍后发出的任何cin命令

我确信这可能只是一个设置问题,或者我可能需要在项目中以某种方式将其中断到另一个程序中?这是一个控制台应用程序,但肯定有一种方法可以在同一个项目中同时实现这两个功能

我已经知道,不能同时使用CIN和GETLIN,但是如何输入文件,然后在VisualStudio.

C++应用程序中向用户请求更多信息? 用于文件读取的单独程序和函数

'int lineIter = 0;
cin.getline(rowData, arraySize);  // Grab first row of data
    while (!cin.eof()) {
        // output each row of data to screen:
        cout << rowData << endl;
          }

///// Increment for next ROW
lineIter++;
cin.getline(rowData, arraySize);'
和getline()的其他变体,但没有一个停止程序执行,我无法让它们执行任何操作,除非再次尝试读取该文件


我正在使用VS 2019社区版

我真的不明白您在这里想要实现什么

目前,您读取外部文件的方式是将
std::cin
的“源代码”从控制台更改为给定文件;此更改是在程序外部调试器级别进行的。因此,您将无法将源代码从程序本身更改回控制台。(您可以在调试器运行时从调试器执行此操作)

如果您想读取外部文件,并且仍然能够正常使用
std::cin
,为什么不使用
std::fstream
s


另一方面,如果您必须通过
std::cin
将文件传递给程序,则应保持默认值,只需在控制台中复制粘贴文件即可。但是要小心:由于文件可能包含换行符,您将无法使用这些换行符作为输入的结尾,因此您必须为程序设计另一种方法来重新标记文件的结尾(例如两个连续的空行)。

为什么不使用fstream来执行此操作?你想要实现什么?你现在所做的将使你的程序复杂化。
'cin.clear();
cin.ignore(arraySize);
cin >> selectR[b];'