Мне нужна помощь в понимании того, что не так с моим кодом или системой. По какой-то причине при компиляции и запуске в WSL (Windows Подсистема для Linux) следующий код генерирует неверный результат. При запуске непосредственно в командном терминале windows он правильно генерирует окончательный вывод как HNDPNV, а в WSL генерирует PNV. Файл аэропортов - это просто серия из 50 строк, по 3 буквы в каждой. Версия g ++ - 7.5.0 в ubuntu 18.04 WSL, а версия g ++ windows - 9.2.0.
флаги компиляции: g ++ -std = c ++ 17 -Wall -Wextra -o test test. cpp
#include <iostream>
#include <cstdlib>
#include <string>
#include <fstream>
using namespace std;
int main() {
string airport_designations[50];
string air_companies_designations[20];
ifstream airports;
ifstream aircompanies;
string name = "apple";
string name2 = "orange";
airports.open("Airports.txt");
for (int i = 0; i < 50; i++){
getline(airports, airport_designations[i]);
cout << airport_designations[i] << endl;
}
airports.close();
aircompanies.open("Companies.txt");
for (int i = 0; i < 20; i++){
getline(aircompanies, air_companies_designations[i]);
cout << air_companies_designations[i] << endl;
}
aircompanies.close();
name = airport_designations[4];
cout << name << endl;
name += airport_designations[8];
cout << name << endl;
}