Решить эту проблему, возникающую при использовании GetLine} {freopen читать другой файл

Считывает один файл

Используйте freopen переназначение.

GetLine прогрессивный процесс чтения.

#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;
string s;

int main()
{
    freopen("text1.in", "r", stdin);
    while (getline(cin, s)) {
        /* - code - */
    }
    fclose(stdin);
    return 0;
}

Считывание нескольких файлов

Основной метод выше.

Специальное примечание: В файле был прочитаны,

Использование cin.clear () очистить входной поток.

Там может быть первый файл, другие файлы без явления, кроме чтения.

2020-1-27-1: 07 генерирует чтения проблемы обработки, когда два TXT текстовых данных.

编译环境:
Использование встроенного в спецификации.
COLLECT_GCC = г ++
COLLECT_LTO_WRAPPER = е: / тио / Dev-CPP / mingw32 / бен /../ libexec / ССАГПЗ / mingw32 / 4.8.1 / LTO-wrapper.exe
Цель: mingw32
Установлено с: ../gcc-4.8.1/configure prefix = / MinGW --host = mingw32 --build = mingw32 --without-ПОС --enable-общий --enable-статическая --with-gnu- л.д. --enable-LTO --enable-libssp повреждают-мультибиблиотечных --enable-языки = C, C ++, Fortran, ObjC, ObjC ++, Ada --disable-sjlj-исключения --with-dwarf2 повреждают -win32-реестр --enable-libstdcxx-отладка --enable-конкретная версия, во время выполнения-ЛИЭС --with-ГМФА = / USR / SRC / упак / ГМП-5.1.2-1-mingw32-Src / зд - с-MPC = / USR / SRC / PKG / MPC-1.0.1-1-mingw32-SRC / BLD --with-MPFR = --with-система-Zlib --with-гну-а --enable-decimal- поплавок = да --enable-libgomp --enable-нить --with-libiconv-префикс = / mingw32 --with-libintl-префикс = / MinGW --disable-самозагрузка LDFLAGS = -s CFLAGS = -D_USE_32BIT_TIME_T
модель резьбы: win32
GCC версии 4.8.1 (GCC)

Compile Команда:
G ++ Name.cpp -o name.exe

справа:

#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;
string s;

int main()
{
    freopen("text1.in", "r", stdin);
    while (getline(cin, s)) {
        /* - code - */
    }
    fclose(stdin);
    cin.clear();
    freopen("text2.in", "r", stdin);
    while(getline(cin, s)) {
        /* - code - */
    }
    fclose(stdin);
    // ...
    return 0;
}

рекомендация

отwww.cnblogs.com/leprechaun-kdl/p/12235322.html