Ich habe eine Datei mit folgendem Inhalt: tdogicatzhpigu
und einem anderen Datei mit folgendem Inhalt:C++ Zeichenfolge aus .txt-Datei in String-Array hinzuzufügen, und um den Wert des Feldes anzuzeigen
dog
pig
cat
rat
fox
cow
in separaten Zeilen.
Der folgende Code zeigt meine Versuche, dies in einem Menü zu tun, das eine do while-Schleife ist.
if (selection == 1) {
//Gets the characters from the textfile and creates an array of characters.
fstream fin1("text1.txt", fstream::in);
if (fin1.is_open())
{
cout << "text1.txt successfully added to an array" << endl;
while (!fin1.eof()) {
if (!fin1.eof()) {
for (int i = 0; i < 14; i++) {
for (int e = 0; e < 14; e++) {
fin1 >> chArray[i][e];
}
}
}
}
}
else if (!fin1.is_open())
{
cout << "ERROR: ";
cout << "Can't open text1.txt file\n";
}
fin1.close();
//Get the string values from the file and add into an array of strings
fstream fin2("search1.txt", fstream::in);
if (fin2.is_open()) {
cout << "Search1.txt successfully added to an array" << endl;
cout << "------------------------------------------------------------------------" << endl;
while (!fin2.eof()) {
if (!fin2.eof()) {
for (int j = 0; j <= 6; ++j) {
getline(fin2, wordsArray[j]);
}
}
}
}
jetzt, wenn ich die Arrays innerhalb Auswahl 1 gedruckt wird, zeigt es richtig für beide, alles ist gut, aber in der folgenden Auswahl 2 ich einmal versuche erneut, um den Inhalt von Charray anzeigen, aber es fehlt die "t"
aus aus irgendeinem Grund :
else if (selection == 2) {
for (int i = 0; i < 14; i++) {
cout << chArray[0][i] << endl;
}
Mit Auswahl 3 und versuchte, die wordsArray angezeigt werden, gar nichts angezeigt wird, hier ist der Code für die Auswahl 3:
else if (selection == 3) {
for (int j = 0; j <= 6; ++j) {
cout << wordsArray[j] << endl;
}
Ich konnte das Problem nicht duplizieren, es funktioniert gut, wenn ich es mit der angegebenen Eingabe ausführen. BTW warum benutzt du zweidimensionales Array, um die Charaktere zu speichern? –
Und wo in Ihrem Programm deklarieren Sie die Arrays? –
Die Arrays werden außerhalb der do while-Schleife deklariert, ich würde es vorziehen, jedes Zeichen in jedem Element im Array zu speichern, aber ich bin nicht sicher, wie das funktioniert, wie in der Datei, es ist zusammen als eine Zeichenfolge, keine Leerzeichen zwischen den Zeichen – jbob