這是一個任務,我被困在第一個信息讀取過程中.. 我需要從文件「bank.txt」中讀取信息。 每個文件的行是這樣的: 大米(中國),13,2016-8-3,5kg如何跳過逗號讀取C++中的信息
我已經寫了CPP測試:
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
struct Food
{
string name;
int quantity;
string expireDate;
string unit;
bool selected;
};
void all(Food item[]);
int main()
{
ifstream infile;
Food bank[100];
infile.open("bank.txt");
string text, temp[400];
string dummy;
int num;
stringstream linestream;
while(infile.good())
{
for(int i = 0; i < 100; i++)
{
for(int j = 0; j < 4; j++)
{
getline(infile, text, ',');
temp[4 * i + j] = text;
}
istringstream(temp[4 * i + 1]) >> num;
bank[i].name = temp[4 * i];
bank[i].quantity = num;
bank[i].expireDate = temp[4 * i + 2];
bank[i].unit = temp[4 * i + 3];
}
}
all(bank);
return 0;
}
void all(Food item[])
{
for(int i = 0; i < 100; i++)
cout << item[i].name << ".." << item[i].quantity << ".." << item[i].expireDate << ".." << item[i].unit << endl;
}
但這運行到一些問題而奇數行只顯示名字。
如何修改我的代碼以使其正常運行?
'bank.txt'的內容是什麼?什麼應該是輸出?你會得到什麼輸出? –
請使用您的bank.txt內容來啓發我們,至少僞造相同格式的數據。 – Raistmaj
@AntonSavin @Raistmaj他說的內容是「大米(中國),每條線13,2016-8-3,5kg'。對? –