Ich bin eine Spalte von Strings in einer Textdatei gegeben und ich muss sie miteinander vergleichen - ich möchte die erste Zeichenfolge mit allen darunter vergleichen, dann zurück zum zweiten und vergleichen Sie es mit allen darunter und so weiter. Das Problem ist, ich habe keine Ahnung, wie man den Code dafür schreibtVergleiche Strings aus Datei
Antwort
Die Verwendung einer geschachtelten Schleife tut, was Sie erwarten;
#include <iostream>
#include <fstream>
#include <vector> //include this to use vector
using namespace std;
int main() {
//to take input from the file
ifstream fin;
//to read the same strings into 2 arrays so we can loop it appropriately
//by taking one string and comparing it to all below it.
vector <string> line1;
vector <string> line2;
//to hold a line of string
string temp;
//replace this with with your file
fin.open("hello.txt");
//to check if file cannot be opened or does not exist
if(!fin.is_open()) {
cout << "file could not be opened";
}
//strings are inserted into element of these 2 vectors
//(Internally, vectors use a dynamically allocated array to store their elements in adjacent memory locations)
//that is why i decided to use vectors. Also, using the push_back method
//to insert the strings into both arrays means we don't have to specify the size of the array
while (getline(fin, temp)) {
line1.push_back(temp);
line2.push_back(temp);
}
//nested loop is used to make sure one string is used to operate
//on all the strings in the file and move to the next to do same
//and so on...
for (unsigned int i = 0; i < line1.size(); i++) {
for (unsigned int j = 0; j < line2.size(); j++) {
//you can compare first string with all below here however you want to do it
//I just did this so you see how it behaves
cout << line1[i] << " = " << line2[j] << endl;
}
}
return 0;
}
DIE einfachste Weg, es zu tun cmd Linux wie ein grep verwendet:
// 1 Weg
grep -w -v -f file1.log file.2 > mach.log
// 2-Wege
grep -w -f file1.log file.2 > mach.log
Sie mustn 't vergessen die flagge bedeuten:
-w, --word-regexp Wählen Sie nur die Zeilen aus, die Übereinstimmungen enthalten, die ganze Wörter bilden. Der Test besteht darin, dass der übereinstimmende Teilstring entweder am Anfang der Zeile oder vor einem Nichtwort-Bestandteilzeichen stehen muss. In ähnlicher Weise muss es entweder am Ende der Zeile oder gefolgt von einem Nichtwort-Bestandteilzeichen stehen. Wortbestandteile sind Buchstaben, Ziffern und der Unterstrich.
-v, --invert-match Invertieren Sie die Übereinstimmung, um nicht übereinstimmende Zeilen auszuwählen.
-f FILE, --file = FILE Erhalten Muster von FILE, eine pro Zeile. Wenn diese Option mehrmals verwendet wird oder mit der Option -e (--regexp) kombiniert wird, suchen Sie nach allen angegebenen Mustern. Die leere Datei enthält null Muster und entspricht daher nichts.
- 1. Vergleiche Strings in C - strcmp
- 2. Vergleiche Strings, wenn man null sein könnte
- 3. Wie löscht man Strings aus einer Datei, wenn sie genau Strings aus der zweiten Datei verarbeiten?
- 4. Vergleiche Strings in Pandas Dataframe in Elif Mode
- 5. Bitweise Vergleiche
- 6. Löschen Strings aus der Datei mit Python
- 7. lesen große (450000 + Zeichen) Strings aus Datei
- 8. lesen Array von Strings aus XML-Datei
- 9. Zeichenfolgen mit Zeigern vergleichen? Vergleiche Strings in C
- 10. Vergleiche Arrays von Objekten
- 11. Strings und Datei
- 12. Schienen generieren Barcodes aus Strings
- 13. Strings aus Matrix
- 14. Mehrere Strings aus derselben Zeile in einer Datei scannen (C)
- 15. mobile Daten (Strings und Zahlen) aus der Datei in C
- 16. Strings aus der Datei lesen (Zeile für Zeile) JAVA
- 17. C++ lesen Strings aus einer Datei gibt "-9.25596e + 61"
- 18. Erstellen von XML-Datei aus Liste von Strings
- 19. Mehrere Strings aus Datei getrennt mit Leerzeichen lesen, mit fscanf
- 20. Bash Timestamp Vergleiche
- 21. Vergleiche Floats in MySQL?
- 22. Python Pandas Frequenz String Vergleiche
- 23. Java: Vergleiche zwei Strings beim parallelen Lesen von Zeile für Zeile
- 24. Xcode 8 Generiere .strings Datei
- 25. Überprüfung zwei Strings auf Gleichheit mit einem Eingang und andere aus der Datei
- 26. Vergleiche Elemente der Liste, wie vermeide ich doppelte Vergleiche?
- 27. PHP/MySQL - Vergleiche Tabellen aus 2 verschiedenen Datenbanken
- 28. DateTime Vergleiche in C#
- 29. Vergleiche Startzeit und Endzeit
- 30. QVariant/ohne Vorzeichen Vergleiche
Sie sollten einige Forschung vor dem Posten der Frage hier tun. Es gibt viele Tutorials im Internet, Sie sollten nur nach 'C++ lesen Textdatei 'suchen: http: //www.cplusplus.com/doc/tutorial/files/ und Sie sollten die Zeichenfolge mit' strcmp' in einer Schleife – Bhoke
vergleichen Ich habe diese gelesen, die Sache ist - sobald ich die erste Zeichenkette mit allen anderen verglichen habe, wie komme ich zurück zur zweiten, wie bekomme ich den Zeiger dorthin, ich sollte suchp() oder seekg() aber das verwenden ist ziemlich viel, wo ich stecken bleibe – unfi
Sie müssen mit etwas zuerst beginnen. **Dann komm her. –