Datei-> Spalte suchen , finden und die komplette Zeile ausgeben
-
Sorry , dass ich so spät zurück schreibe .
Danke nochmals für die HilfeHab es jetzt lösen können.
while(getline(Myfile,line)) { istringstream stream(line); vector<string>column; string element; while(getline(stream,element,'\t')) { column.push_back(element); if(((offset = element.find(suchen,0))) != string::npos) { // cout <<"Wort gefunden:\n" << suchen<<"\n"<<element << endl; } } }
Nun habe ich das Problem:
ich kann jetzt nach einem Wort suchen und auch die entsprechende Zeile ausgeben , nur leider würde ich gerne die Spalten der Zeile , die durch ein Kommata getrennt sind , in einzelne Variablen speichern um beispielsweise von einigen bestimmen Spalten den Average ausrechnen zu können
-
Carlos_Hafensänger schrieb:
Nun habe ich das Problem:
ich kann jetzt nach einem Wort suchen und auch die entsprechende Zeile ausgeben , nur leider würde ich gerne die Spalten der Zeile , die durch ein Kommata getrennt sind , in einzelne Variablen speichern um beispielsweise von einigen bestimmen Spalten den Average ausrechnen zu könnenDer Suchbegriff ist "split string". Da sollte es einige Ergebnisse dazu geben...
-
danke
habe es so weit wie möglich geschafft und nun wollte ich int in string umwandeln mit to_string, habe auch mal ein wenig im Internet mich schlau gemacht , leider nichts gefunden.
Ich zeige euch mal mein Codeschnipsel//calc average int length = searchResults.size(); vector<string> result; double secondRow = 0; double thirdRow = 0; for (vector<string> line : searchResults) { secondRow += atoi(line.at(1).c_str()); thirdRow += atoi(line.at(2).c_str()); } //Resultat zusammensetzten result.insert(result.begin(), suchen); result.insert(result.end(),to_string(secondRow / length)); result.insert(result.end(),to_string (thirdRow / length));
die dreizehnten Zeile wird mir als Fehler angezeigt , die Meldung : to_string was not declared in this Scoop
Leider finde ich mei Fehler nicht , habe auch include <sstream>
-
to_string benötigt den Header <string>
-
Habe ich auch im Header , trotzdem geht es nicht
-
C++ 11 einschalten oder neueren Compiler installieren.
-
Habe den Compiler :
GNU GCC Compiler
Have g++ follow the C++11 ISO C++ language Standard [std=c++11]
-
Carlos_Hafensänger schrieb:
Habe den Compiler :
GNU GCC CompilerDir ist aber schon aufgefallen, dass Software (aus gutem Grund) eine Versionsnummer hat?
manni66 schrieb:
C++ 11 einschalten oder neueren Compiler installieren.
-
Muss echt gestehen , dass ich gerade etwas verwirrt bin .
Ich dachte der Compiler wäre der aktuellste und somit auch der Mächtigste.
Könntest du es noch einmal für Dummies erläutern , falls du die Zeit dafür hast
DANKEE
-
Carlos_Hafensänger schrieb:
Könntest du es noch einmal für Dummies erläutern
Hat er doch schon...
Deine Reaktion darauf war:
Muss echt gestehen , dass ich gerade etwas verwirrt bin .
Versteh nicht was genau du noch willst?
-
was mich verwirrt ist die Tatsache, dass ich den C++ Compiler eingeschaltet habe
ich weiss echt nicht ,wie ich es sonst angehen sollte.
-
Carlos_Hafensänger schrieb:
Muss echt gestehen , dass ich gerade etwas verwirrt bin .
Ich dachte der Compiler wäre der aktuellste und somit auch der Mächtigste.
Könntest du es noch einmal für Dummies erläutern , falls du die Zeit dafür hast
DANKEEhttps://gcc.gnu.org/releases.html
Und welches Release hast du bei dir installiert?
-
GCC 6.3
Ich gehe mal stark davon aus, dass ich 7.1 auf CodeBlocks installieren sollte
-
GCC 6.3 ist auf jeden Fall neu genug für C++11.
Siehe https://gcc.gnu.org/onlinedocs/gcc-6.3.0/gcc/Standards.html#StandardsGCC supports the original ISO C++ standard published in 1998, and the 2011 and 2014 revisions.
(...)
The default, if no C++ language dialect options are given, is -std=gnu++14.
Wahrscheinlich gibt es in deiner IDE irgendwo einen Schalter zur Auswahl des Sprachstandards. Dein gcc jedenfalls beherrscht jedenfalls C++14 und wählt diesen Standard sogar per Default aus (plus gcc-Erweiterungen).
-
Danke
Ich habe mal etwas geguckt leider nichts gefunden , ich hoffe mal das ich noch fündig werde
-
weg von der Fragestellung
es wäre doch auch einfach möglich ,wenn ich eine andere Funktion dafür einsetze
bspw-> stringstream ss;
ss << number;
string numberasstring(ss.str());ist die Funktion zu laienhaft ?
-
Carlos_Hafensänger schrieb:
ist die Funktion zu laienhaft ?
Für wen? für dich? Nee, DU kannst die ruhig verwenden.
-
habe doch ein Template jetzt definiert.
template <typename T> string to_string(T t) { ostringstream ss; ss <<t; return ss.str(); }
und dann einfach
result.insert(result.end(),to_string(secondRow),to_string(length));
nun kommt die Fehlermeldung -> no matching...
bin echt ratlos
-
Sag mal, bist du wirklich so inkompentent oder machst du dir einen Spaß draus hier den Leuten die Zeit zu stehlen?!
Das da:
template <typename T> string to_string(T t) { ostringstream ss; ss <<t; return ss.str(); }
result.insert(result.end(),to_string(secondRow),to_string(length));
MUSS Verarsche sein. Das geht gar nicht anders
-
ich wusste nicht dass man ein gewisses Maßstab an Kompetenz besitzen muss, um in solchen Foren Anfänger Fragen ,fragen zu können.
Deine Aussage war echt daneben, wenn es dir nicht passt
zwingt dich keiner es zu lesen und dir die sinnlose Mühe zu machen um mir zu antworten.Anscheinend gibt es genug verbitterte Menschen in solchen Foren