我的程序需要從包含不超過50個球員統計的文本文件中讀取。輸入的一個例子是:Getline和解析數據
Chipper Jones 3B 0.303
Rafael Furcal SS 0.281
Hank Aaron RF 0.305
我的問題是,我似乎無法弄清楚如何在每一行內分析數據。我需要幫助搞清楚如何我要做到這一點,從而使輸出如下:
Jones, Chipper: 3B (0.303)
Furcal, Rafael: SS (0.281)
Aaron, Hank: RF (0.305)
我的目標是建立某種形式的循環,將通過任何可用的線路運行,解析線,並將每行的內容建立到與它們相關的變量。
代碼:
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;
class player
{
private:
string first, last, position;
float batave;
int a;
public:
void read(string input[50]);
void print_data(void);
} playerinfo;
void player::print_data(void)
{
cout << last << ", " << first << ": " << position << " (" << batave << ")" << endl;
}
void player::read(string input[]) // TAKE INFORMATION IN THE FILE AND STORE IN THE CLASS
{
for (int a = 0; a <= 50; a++);
{
// getline(input[0], first, ' ', last,);
}
}
int main(void)
{
ifstream infile;
string filename;
ofstream outfile;
string FILE[50];
cin >> filename;
infile.open(filename.c_str());
if (!infile)
{
cout << "We're sorry! The file specified is unavailable!" << endl;
return 0;
}
else
{
cout << "The file has been opened!" << endl;
for (int a = 0; getline(infile, FILE[a]); a++);
playerinfo.read(FILE);
playerinfo.print_data();
}
printf("\n\n\n");
system("pause");
}
我不得不 提示用戶輸入和輸出文件名。不要將文件名硬編碼到您的程序中。 打開輸入文件 讀取每個播放器並將它們存儲在播放器對象數組中 跟蹤播放器數量 打開輸出文件 將每個播放器從數組寫入輸出文件,以及任務所需的任何其他輸出。 請記住在完成後關閉文件
你知道'stringstream'? – Barmar
不需要。這只是一個基本的C++程序,用於讀取文件,然後解析並將其發送回outfile。 –