/ / Wie man Strings zeilenweise in C ++ aus der TXT-Datei liest - C ++

So lesen Sie Strings für Zeile in C ++ aus der .txt-Datei - c ++

Ich habe derzeit zwei TXT-Dateien, eine Datei, die Zeichen enthält. Ich möchte einen Dateistream erstellen und die Zeichen aus dieser Datei nehmen und in ein Array von Zeichen einfügen.

Ich habe dann auch eine Textdatei mit 6 Zeichenketten auf einerIn einer anderen Zeile muss ich diese in ein Array von Strings einfügen. Hier ist mein Code bisher. Ich habe einen geringfügigen Fehler, wenn ich versuche, den Wert von "Wörtern" meiner Stringdatei für das String-Array in jede Position in einer Array.

    //Gets the characters from the textfile and creates an array of characters.

char ch;
fstream fin("text1.txt", fstream::in);

while (fin >> noskipws >> ch) {
char letters[5];
cout << ch;


for (int i = 0; i < 14; ++i)
{
ch >> letters[i];
}


}
fin.close();


//Get the words from the file and add into an array of strings

string words;
fstream fin2("search1.txt", fstream::in);

while (getline(fin2, words)) {
string wordsArray[6];
cout << words;

for (int i = 0; i < 6; ++i)
{
words >> wordsArray[i];
}
}
fin2.close();

Antworten:

4 für die Antwort № 1

Je nach Titel können Sie Text zeilenweise lesen mit:

std::string text_line;
while (std::getline(input_stream, text_line))
{
// ...
}

Lesen Wörter von einem String könnten Sie verwenden std::istringstream:

std::string word;
std::istringstream text_stream(text_line);
while (text_stream >> word)
{
// Process the word
}

0 für die Antwort № 2

Okay, hier habe ich den Code, der eine Zeile mit Zeichen aus einer Textdatei entnimmt und sie in ein Array von char [] stellt.

    char ch;
char chArray[14];
fstream fin1("text1.txt", fstream::in);
if (fin1.is_open())
{
cout << "File of characters Opened successfully!!!. Reading data from file into array" << endl;
while (!fin1.eof()) {
for (int i = 0; i < 14; ++i) {
fin1.get(ch);
chArray[i] = ch;
cout << chArray[i] << endl;
}
}
}

Jetzt muss ich irgendwie das Array von Zeichen in einzelne Zeichenfolgen konvertieren, sodass ich sie mit einem Array von Zeichenfolgen vergleichen kann, die Wörter enthalten.

Gibt es eine Möglichkeit, dieses Array einfach in ein String-Array zu konvertieren?