Witam,
mam taki kod, że pobieram z plików imiona i nazwiska i wczytuje do osobnych tablic. Następnie losuje jakieś imie + jakieś nazwisko i chce to połączyć w cout, za pomocą + lub po prostu wypisując po sobie, niestety wyświetla się zawsze tylko nazwisko, tak jak by pierwszy ciąg był nadpisywany. Dlaczego i jak to obejść?
#include <iostream>
#include <vector>
#include <fstream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main(){
ifstream fileNames("names.txt", ifstream::binary);
ifstream fileSurnames("surnames.txt", ifstream::binary);
vector<string> names;
vector<string> surnames;
string line {};
if(fileNames.is_open() && fileSurnames.is_open()){
while(getline(fileNames, line))
names.push_back(line);
fileNames.close();
while(getline(fileSurnames, line))
surnames.push_back(line);
fileSurnames.close();
}else{
cout << "Can't to open file" << endl;
}
srand(time(NULL));
int index_Names = (rand() % (names.size() - 1));
int index_Surnames = (rand() % (surnames.size() - 1));
//cout << names[index_Names] << surnames[index_Surnames] << endl;
cout << names[index_Names] + surnames[index_Surnames] << endl;
return 0;
}