0

我需要读取一个按标题组织的配置设置的 txt 文件,例如 Menu: 、 Tables: 、 Waiter: 等。

发现一个正确的部分我需要提取正确的信息。所以基本上我正在尝试在文本文件中搜索特定字符串,一旦找到该字符串,就开始存储来自包含该字符串的行之后出现的行的输入。

到目前为止我正在尝试什么。

void MenuItemArray()
{
    string arrayIn;

    ifstream fin("/usr/local/final_project/restaurant/config.txt");

    while (getline(fin, arrayIn))
    {
        if (arrayIn.find("Menu:") == true)
        {
        }

我从中提取的文本文件:

Tables:  table #, max seats
1 2
2 4 
3 2 
4 2 
5 2 
6 4 
7 6 
8 10 
9 2 
10 4 
11 4 
12 4 
13 4 
14 2 
15 2 
16 2 
17 2 
18 2

Waiters:  first name followed by table list
John 1,2,5,9,11,15
Maria 3,4,6,7,17,18
Mike 8,10,12,13,14,16 

Menu: listing of the full menu: item code, name, price
A1 Bruschetta 5.29
A2 Caprese_Flatbread 6.10
A3 Artichoke-Spinach_Dip 3.99
A4 Lasagna_Fritta 4.99
A5 Mozzarella_Fonduta 5.99
E1 Lasagna_Classico 6.99
E2 Capellini_Pomodoro 7.99
E3 Eggplant_Parmigiana 8.99
E4 Fettuccine_Alfredo 7.49
E5 Tour_of_Italy 14.99
D1 Tiramisu 2.99
D2 Zeppoli 2.49
D3 Dolcini 3.49
S1 Soda 1.99
S2 Bella_Limonata 0.99
S3 Berry_Acqua_Fresca 2.88
4

1 回答 1

0

如果文件相对较小,您可以将其全部读入 std::string 然后使用 std:string 查找函数。

ifstream in("config.txt");
ostringstream oss;
oss << in.rdbuf();
string contents = oss.str(); 
于 2013-04-28T20:13:28.273 回答