【问题标题】:I'm having trouble creating a function to read in a file [closed]我在创建读取文件的函数时遇到问题[关闭]
【发布时间】:2013-11-21 04:53:04
【问题描述】:

我真的不知道该怎么做。它用逗号分隔。 我所有的其他功能都可以工作,但这我似乎无法创建读取功能。 任何人都可以帮忙吗? 文件看起来像这样..

170, Abelia,  Glossy  Abelia x grandiflora,  Caprifoliaceae
222, Almond,  Dwarf Russian  Prunus tenella,  Rosaceae
85, Almond,  Halls Hardy  Prunus dulcis,  Rosaceae
200, Apple,  Early Harvest  Malus x domestica,  Rosaceae
246, Apple,  Lodi  Malus x domestica,  Rosaceae
121, Apple,  Red Delicious  Malus x domestica,  Rosaceae
225, Apple,  Red Jonathan  Malus x domestica,  Rosaceae
114, Apple,  Stayman Winesap  Malus x domestica,  Rosaceae
148, Apple,  Yellow Delicious  Malus x domestica,  Rosaceae
77, Apricot,  Early Golden  Prunus armeniaca,  Rosaceae
138, Apricot,  Moorpark  Prunus armeniaca,  Rosaceae
84, Arborvitae Nigra American,  Thuja occidentalis  Nigra,  Cupressaceae
79, Arborvitae Woodward Globe,  Thuja occidentalis  Woodwardii,  Cupressaceae
247, Arborvitae,  American  Thuja occidentalis,  Cupressaceae
93, Arborvitae,  Emerald  Thuja occidentalis,  Emerald, Cupressaceae
144, Arborvitae,  Golden Globe  Thuja occidentalis,  Golden Globe, Cupressaceae
42, Arborvitae,  Green Giant  Thuja standishii x plicata Green Giant,  Cupressaceae
77, Ash,  Green  Fraxinus pennsylvanica,  Oleaceae
208, Ash,  White  Fraxinus americana,  Oleaceae
98, Aspen,  Quaking  Populus tremuloides,  Salicaceae
140, Azalea Formosa,  Azalea indica  Formosa,  Ericaceae
127, Azaleas Mollis Hybrid,  Orange  Rhododendron x kosteranum,  Ericaceae
181, Azaleas Mollis Hybrid,  Pink  Rhododendron x kosteranum,  Ericaceae
146, Azaleas Mollis Hybrid,  Red  Rhododendron x kosteranum,  Ericaceae
248, Azaleas Mollis Hybrid,  White  Rhododendron x kosteranum,  Ericaceae
127, Azaleas Mollis Hybrid,  Yellow  Rhododendron x kosteranum,  Ericaceae
158, Baldcypress,  Taxodium  distichum,  Taxodiaceae
41, Beautybush,  Kolkwitzia  amabilis,  Caprifoliaceae
164, Beech,  American  Fagus grandifolia,  Fagaceae
78, Beech,  European  Fagus sylvatica,  Fagaceae
231, Birch,  Paper  Betula papyrifera,  Betulaceae
6, Birch,  River  Betula nigra,  Betulaceae
118, Birch,  Yellow  Betula alleghaniensis,  Betulaceae
200, Black Tupelo (Black Gum),  Nyssa  sylvatica,  Cornaceae
215, Boxwood (Common),  Buxus  sempervirens,  Buxaceae
119, Boxwood (Korean),  Buxus sinica var  insularis,  Buxaceae
144, Boxwood Green Velvet,  Buxus sinica var  insularis x B. sempervirens Green Velvet,  Buxaceae
30, Buckeye,  Red  Aesculus pavia,  Hippocastanaceae
15, Buckeye,  Yellow  Aesculus flava (octandra),  Hippocastanaceae
9, Butternut (White Walnut),  Juglans  cinerea,  Juglandaceae
90, Camellia,  Camellia  sasanqua,  Theaceae

【问题讨论】:

    标签: c++ arrays


    【解决方案1】:

    不确定您在读取数据后要如何处理数据,但这会将每一行放入一个向量中。另请注意,为此,您需要更改 argc...在 Xcode 中执行此操作,您转到产品菜单,然后方案,编辑方案,单击 + 并输入文件路径

    #include <iostream>
    #include <iomanip>  // for setw() and ws
    #include <string>
    #include <fstream>
    #include <cstdlib>
    #include<vector>
    
    using namespace std;
    /* function prototype(s) */
    void addContents(ifstream&);
    
    int main(int argc, char* argv[])
    {
        if (argc < 2) {
            cerr << "Usage: " << argv[0] << "/path/to/your/file" << endl;
            exit (1);
        }
        ifstream datafile {argv[1]}; /* first arg is filename */
        if (!datafile.is_open()) {
            cout << "Can't read input from " << argv[1] << endl;
            exit (1);
        }
    
        addContents(datafile);
        datafile.close();
        return 0;
    }
    
    void addContents(ifstream& ff){
        vector<string> fileContents;
        string currentLine;
        while(getline(ff, currentLine)){
            fileContents.push_back(currentLine);
        }
        for (int i = 0; i<fileContents.size(); i++){
            cout << fileContents.at(i) << endl;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-04
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-12
      • 1970-01-01
      相关资源
      最近更新 更多