分開後,我有這樣一個文件:C++:從文件中分離的姓和名,中間用逗號
Collins,Bill 80
Smith,Bart 75
Allen,Jim 82
Griffin,Jim 55
Stamey,Marty 90
Rose,Geri 78
Taylor,Terri 56
Johnson,Jill 77
Allison,Jeff 45
Looney,Joe 89
Wolfe,Bill 63
James,Jean 72
Weaver,Jim 77
Pore,Bob 91
Rutherford,Greg 42
Javens,Renee 74
Harrison,Rose 58
Setzer,Cathy 93
Pike,Gordon 48
Holland,Beth 79
正如你所看到的姓氏和名字都用逗號分隔。
現在我有這個在我的代碼:
ifstream inputFile;
inputFile.open ("students.txt");
string studentNames; // Student names - Last name followed by first
int studentMarks = 0; // Student mark for text/exam
// Read in data from students.txt
inputFile >> studentNames;
inputFile >> studentMarks;
// IF file has too much data, output WARNING
if (numElts >= NUM_NAMES)
{
cout << "Error: File contains too many lines of data, check the file." << endl << endl;
}
else
{
names[numElts] = studentNames;
marks[numElts] = studentMarks;
numElts++;
}
我想繞過這些逗號,我想保存它作爲名字,然後,然後我將只合併到名稱類似name = firstname " " last name
姓氏。我應該怎麼做?
1.閱讀在整個'名字,lastname'令牌作爲目前工作。 2.用'string :: find()'查找逗號的位置。 3.用這些信息創建2個新的子字符串。 –
等待如何使用此查找,以便在inputFile >> studentNames下面;我會把studentNames.find(「,」);但那又如何?我如何擺脫它,或者在找到這個逗號後該做什麼? – tinywolves
如果您無法弄清楚我剛纔所說的和* 90秒*在Google上做什麼,那麼我很抱歉,但您對這類練習的理解深度已經過去了。您需要了解一個字符串是什麼以及首先可以對其執行的各種基本操作。 –