Ich habe Probleme beim Trennen einer bestimmten Zeichenfolge aus einer Textzeile in einer Datei, die ich in C++ "hochgeladen" habe.C++ Separate Zeichenfolge von Zeile in Textdatei
Unten ist die Zeile, die ich nach Spalte analysieren möchte.
2016.12.06 s "Die inzestuöse Beziehung zwischen Regierung und die großen Unternehmen gedeiht im Dunkeln. ~ Jack Anderson [4]" 0 3 39 blau weiß PATRICK Bardwell
ich jedes Stück Information in ein brauchen verschiedene Variable, und zuerst habe ich implementiert inFile >> var1 >> var2 >> etc; aber wenn ich zu dem Zitat komme, nimmt diese Methode nur das erste Wort des Zitats: "The" und stoppt dann.
Irgendwelche Tipps, wie man alles, was in der "" ist, in eine einzige Saite legt? Mein aktueller Code ist unten.
#include <iostream>
#include <string>
#include <iomanip>
#include <fstream>
#include <stdlib.h>
#include <cstring>
using namespace std;
// int main
int main()
{
// Declare variables
string userFile;
string line;
string date;
char printMethod;
string message;
int numMedium;
int numLarge;
int numXL;
string shirtColor;
string inkColor;
string customerName;
string customerEmail;
string firstLine;
string delimiter = "\"";
// Prompt user to 'upload' file
cout << "Please input the name of your file:\n";
cin >> userFile;
fstream inFile;
inFile.open(userFile.c_str());
// Check if file open successful -- if so, process
if (inFile.is_open())
{
getline(inFile, firstLine); // get column headings out of the way
cout << firstLine << endl << endl;
while(inFile.good()) // while we are not at the end of the file, process
{
getline(inFile, line);
inFile >> date >> printMethod;
}
inFile.close();
}
// If file open failure, output error message, exit with return 0;
else
{
cout << "Error opening file";
}
return 0;
}
Lesen Sie die gesamte Zeichenfolge in eine Variable, und dann das Parsen. Haben Sie mit [regex] experimentiert (http://www.cplusplus.com/reference/regex/)? – bejado
Wie analysiere ich nach dem Lesen alles in eine Variable? Und nein, habe ich nicht, zuerst höre ich davon (brandneuer C++ Student). Danke für die Antwort BTW. –
Öffnen Sie Ihr C++ Buch in dem Kapitel, das 'std :: string' beschreibt. Sie müssen dieses Kapitel gelesen haben, da Sie 'std :: string's in Ihrem Code verwenden. Nun, das gleiche Kapitel beschreibt auch viele erstaunliche Methoden, die die 'std :: string' Klasse hat. Wie 'find()', um ein Zeichen in der Zeichenfolge und 'substr()' zu finden, um Teile der Zeichenfolge herauszunehmen. Was brauchst du noch? Verwenden Sie 'find()', um zu ermitteln, wo sich die verschiedenen Teile des Strings befinden, und 'substr()', um sie zu extrahieren. Problem gelöst. Das Erlernen, wie man technische Dokumentation liest, ist eine notwendige Fähigkeit für jeden C++ Entwickler. –