#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main()
{
string line = "";
string firstName = "";
string middleName = "";
string lastName = "";
ifstream myFile("Ch7_Ex9Data.txt");
if(myFile.is_open()){
while( getline (myFile, line) ){
size_t pos = line.find(" ");
lastName = line.substr(0, pos);
size_t index = 0;
for(int i = 0; i < 2; ++i){
index = (line.find(" ", index)) + 1;
}
index = index - 1;
firstName = line.substr(line.find(" "), line.find(" "));
middleName = line.substr(index);
cout << firstName << endl;
//cout << firstName << " " << middleName << " " << lastName << endl;
}
myFile.close();
}else{
cout << "unable to open file" << endl;
}
return 0;
}
мой текстовый файл настроен так (lastName, firstName, middleName)
Miller, Jason Brian
blair, Lisa Maria
Gupta, Anil Kumar
Arora, Sumit Sahil
Saleh, Rhonda Beth
, однако он продолжает обрезать "a" в "Rhonda", но правильно отображает имя длялюбой другой человек?
когда я использую другой компилятор (Visual Studio 2017), он печатает только имя Джейсон, затем я получаю сообщение об ошибке:
Необработанное исключение в 0x76F917D2 при тестировании.exe: исключение Microsoft C ++: std:: out_of_range в ячейке памяти 0x010FF108.