Was mach ich falsch an meinem per Referenz übergebenen String Vector



  • bool
    Reader::GetLines (vector<string> &lines){
    char charline[255];

    while(m_file){
    m_file.getline(charline,254,'\n');
    lines.push_back(charline);
    }

    return true;

    VS6.0 Spuckt dann diese Warnings aus:
    Kompilierung läuft...
    main.cpp
    reader.cpp
    c:\programme\microsoft visual studio\vc98\include\vector(48) : warning C4786: '??0?vector@V?vector@V?basic_string@DU?char_traits@D@std@@V?char\_traits@D@std@@V?allocator@D@2@@std@@V?allocator@V?allocator@V?basic_string@DU?char_traits@D@std@@V?char\_traits@D@std@@V?allocator@D@2@@std@@@2@@std@@QAE@IABV?basic_string@DU?ba sic\_string@DU?char_traits@D@std@@V?allocator@D@2@@1@ABV?allocator@D@2@@1@ABV?allocator@V?basic_string@DU?basic\_string@DU?char_traits@D@std@@V?allocator@D@2@@std@@@1@@Z' : Bezeichner wurde auf '255' Zeichen in den Browser-Informationen reduziert C:\\projekt\\test\\datareader\\reader.cpp(36) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::vector,class std::allocator >,class std::allocator,class std::allocator > > >' c:\\programme\\microsoft visual studio\\vc98\\include\\vector(61) : warning C4786: '??0?vector@V?basic_string@DU?basic\_string@DU?char_traits@D@std@@V?allocator@D@2@@std@@V?allocator@D@2@@std@@V?allocator@V?basic_string@DU?basic\_string@DU?char_traits@D@std@@V?allocator@D@2@@std@@@2@@std@@QAE@PBV?allocator@D@2@@std@@@2@@std@@QAE@PBV?bas
    ic_string@DU?char_traits@D@std@@V?char\_traits@D@std@@V?allocator@D@2@@1@0ABV?allocator@V?allocator@V?basic_string@DU?char_traits@D@std@@V?char\_traits@D@std@@V?allocator@D@2@@std@@@1@@Z' : Bezeichner wurde auf '255' Zeichen in den Browser-Informationen reduziert
    C:\projekt\test\datareader\reader.cpp(36) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std:
    :basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >'
    c:\programme\microsoft visual studio\vc98\include\vector(103) : warning C4786: '?rbegin@?vector@V?vector@V?basic_string@DU?char_traits@D@std@@V?char\_traits@D@std@@V?allocator@D@2@@std@@V?allocator@V?allocator@V?basic_string@DU?char_traits@D@std@@V?char\_traits@D@std@@V?allocator@D@2@@std@@@2@@std@@QAE?AV
    ?reverse_iterator@PAV?reverse\_iterator@PAV?basic_string@DU?chartraits@D@std@@V?char_traits@D@std@@V?allocator@D@2@@std@@V12@AAV12@PAV12@H@2@XZ' : Bezeichner wurde auf '255' Zeichen in den Browser-Informationen reduziert
    C:\projekt\test\datareader\reader.cpp(36) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std:
    :basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >'
    c:\programme\microsoft visual studio\vc98\include\vector(105) : warning C4786: '?rbegin@?vector@V?vector@V?basic_string@DU?char_traits@D@std@@V?char\_traits@D@std@@V?allocator@D@2@@std@@V?allocator@V?allocator@V?basic_string@DU?char_traits@D@std@@V?char\_traits@D@std@@V?allocator@D@2@@std@@@2@@std@@QBE?AV
    ?reverse_iterator@PBV?reverse\_iterator@PBV?basic_string@DU?chartraits@D@std@@V?char_traits@D@std@@V?allocator@D@2@@std@@V12@ABV12@PBV12@H@2@XZ' : Bezeichner wurde auf '255' Zeichen in den Browser-Informationen reduziert
    C:\projekt\test\datareader\reader.cpp(36) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std:
    :basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >'
    c:\programme\microsoft visual studio\vc98\include\vector(107) : warning C4786: '?rend@?vector@V?vector@V?basic_string@DU?char_traits@D@std@@V?char\_traits@D@std@@V?allocator@D@2@@std@@V?allocator@V?allocator@V?basic_string@DU?char_traits@D@std@@V?char\_traits@D@std@@V?allocator@D@2@@std@@@2@@std@@QAE?AV?$
    reverse_iterator@PAV?basic_string@DU?basic\_string@DU?char_traits@D@std@@V?allocator@D@2@@std@@V12@AAV12@PAV12@H@2@XZ' : Bezeichner wurde auf '255' Zeichen in den Browser-Informationen reduziert C:\\projekt\\test\\datareader\\reader.cpp(36) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::vector,class std::allocator >,class std::allocator,class std::allocator > > >' c:\\programme\\microsoft visual studio\\vc98\\include\\vector(108) : warning C4786: '?rend@?vector@V?basic_string@DU?basic\_string@DU?char_traits@D@std@@V?allocator@D@2@@std@@V?allocator@D@2@@std@@V?allocator@V?basic_string@DU?basic\_string@DU?char_traits@D@std@@V?allocator@D@2@@std@@@2@@std@@QBE?AV?allocator@D@2@@std@@@2@@std@@QBE?AV?
    reverse_iterator@PBV?basic_string@DU?basic\_string@DU?char_traits@D@std@@V?$allocator@D@2@@std@@V12@ABV12@PBV12@H@2@XZ' : Bezeichner wurde auf '255' Zeichen in den Browser-Informationen reduziert
    C:\projekt\test\datareader\reader.cpp(36) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std:
    :basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >'
    C:\projekt\test\datareader\reader.cpp(41) : warning C4786: 'std::reverse_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<cha
    r,std::char_traits<char>,std::allocator<char> > const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const *,int>' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen reduziert
    C:\projekt\test\datareader\reader.cpp(41) : warning C4786: 'std::reverse_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > *,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std:
    :char_traits<char>,std::allocator<char> > &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > *,int>' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen reduziert
    Linker-Vorgang läuft...
    Browse-Informationsdatei wird erstellt...

    datareader.exe - 0 Fehler, 8 Warnung(en)



  • ups hat da wohl zu schnell gedrückt, gibts eine schönere Methode alle Zeilen einer Datei in einem Vector zu speichern?



  • gibts eine schönere Methode alle Zeilen einer Datei in einem Vector zu speichern?

    Häufiger C++ FAQs lesen:

    http://www.c-plusplus.net/forum/viewtopic.php?t=39469

    Erstes Beispiel.



  • ok ich muss allerdings jede Zeile parsen, bzw ich weiss nicht immer wieviele Zeilen zusammengehören, deshalb dachte ich mir wäre ein Stringvector am pratischten ist dynamisch lange und hat auch schon sehr praktische mehtoden, ob ich nu die Daten in einem Array spreichere oder nem Vector ist doch eigentlich egal. Ok ausser der Vector ist zu langsam. Ich hab aber immernoch das Problem mit der Vectorreferenz



  • Die Warnungen bekommst du damit weg:

    #pragma warning (disable : 4786)
    

    Schreib das an den Anfang jeder cpp-Datei.


Anmelden zum Antworten