Ich habe das Programm umgeschrieben so das ich erst die 1. Zeile dann die 2. Zeile usw ausgeben kann um zu testen ob dies auch funktioniert.
Nun habe ich 2 weitere Probleme:
1. Das Programm gibt beim Ausgeben der 3. Zeile erst die 2. Zeile und dann die 1. Zeile aus
und
2.Es stürzt beim weiteren Programmablauf einfach ab und gibt ne Fehlermeldung aus.
"Unbehandelte Ausnahme bei 0x0041b5f6 in einzelne zeile lesen.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x00137000."
In diesem Programm lese ich 3 char arrays ein und speichere sie in einer Textdatei. Danach gebe ich diese gespeicherten Werte wieder aus und füge der Textdatei ein Element hinzu. Dann gebe ich alle Zeilen nochmals aus inklusive der hinzugefügten Zeile.
Danke für eure Hilfe.
Code:
#include "stdafx.h"
#include <iostream>
#include <string>
#include <fstream>
#include <stdio.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
//--------------------------------------------------------------------------------------------
//1. Variablen Deklaration
char t[100*100];
char v[100*100];
char x[100*100];
char b[100*100];
char temp; // Zum auslesen der Einzelnen Zeilen
int index = 0;
int zaehler = 0;
int auswahl = 0;
char Array[100*100];
//char name[255];
//--------------------------------------------------------------------------------------------
//2.Einlesen in Variablen
cout<<"Bitte geben sie was ein: ";
cin.getline(t,100); // Einlesen mit Lehrzeile
cout<<endl;
cout<<"Bitte geben sie noch was ein: ";
cin.getline(x,100); // Einlesen mit Lehrzeile
cout<<endl;
cout<<"Bitte geben sie wieder was ein: ";
cin.getline(v,100); // Einlesen mit Lehrzeile
//--------------------------------------------------------------------------------------------
//3.Einlesen in eine Textdatei und speichern
system("CLS");
/*
cout<<"Geben Sie den Dateinamen in der Datei in der sie Speicher wollen ein: ";
cin.getline(name,255);
*/
ofstream file("Kassette01.txt");
file<<t<<endl;
file<<v<<endl;
file<<x<<endl;
file.close();
//--------------------------------------------------------------------------------------------
//4.1 Auslesen der einzelnen der 1. Zeile der Textdatei
ifstream datei01("Kassette01.txt"); // Datei öffnen zum lesen
while((temp = datei01.get()) != EOF)
{
Array[index++] = temp;
Array[index] = '\0';
}
datei01.close(); // Datei wieder schließen
auswahl = 1;
index = 0;
while(zaehler != auswahl-1)
{
if(Array[index] == '\n')
zaehler++;
index++;
}
cout<<"1. Zeile: ";
cout<< " ";
while(Array[index] != '\n')
{
cout<<Array[index++];
}
cout<<endl;
//--------------------------------------------------------------------------------------------
//4.2 Auslesen der einzelnen der 2. Zeile der Textdatei
ifstream datei02("Kassette01.txt"); // Datei öffnen zum lesen
while((temp = datei02.get()) != EOF)
{
Array[index++] = temp;
Array[index] = '\0';
}
datei02.close(); // Datei wieder schließen
auswahl = 2;
index = 0;
while(zaehler != auswahl-1)
{
if(Array[index] == '\n')
zaehler++;
index++;
}
cout<<"2. Zeile: ";
cout<< " ";
while(Array[index] != '\n')
{
cout<<Array[index++];
}
cout<<endl;
//--------------------------------------------------------------------------------------------
//4.3 Auslesen der einzelnen der 3. Zeile der Textdatei
ifstream datei03("Kassette01.txt"); // Datei öffnen zum lesen
while((temp = datei03.get()) != EOF)
{
Array[index++] = temp;
Array[index] = '\0';
}
datei03.close(); // Datei wieder schließen
auswahl = 3;
index = 0;
//Titelanfang finden
while(zaehler != auswahl-1)
{
if(Array[index] == '\n')
zaehler++;
index++;
}
cout<<"3. Zeile: ";
cout<< " ";
while(Array[index] != '\n')
{
cout<<Array[index++];
}
cout<<endl;
system("PAUSE");
//--------------------------------------------------------------------------------------------
//5.Dateien anhängen
system("CLS");
ofstream file01("Kassette01.txt", ios_base::app);
cout<<"Bitte geben sie noch etwas ein: ";
cin.getline(b,100);
file01<<b;
file01.close();
//--------------------------------------------------------------------------------------------
//6.1 Wieder auslesen der 1. Zeile der Textdatei
ifstream datei04("Kassette01.txt"); // Datei öffnen zum lesen
while((temp = datei04.get()) != EOF)
{
Array[index++] = temp;
Array[index] = '\0';
}
datei04.close(); // Datei wieder schließen
auswahl = 1;
index = 0;
while(zaehler != auswahl-1)
{
if(Array[index] == '\n')
zaehler++;
index++;
}
cout<<"1. Zeile: ";
cout<< " ";
while(Array[index] != '\n')
{
cout<<Array[index++];
}
cout<<endl;
//--------------------------------------------------------------------------------------------
//6.2 Wieder auslesen der 2. Zeile der Textdatei
ifstream datei05("Kassette01.txt"); // Datei öffnen zum lesen
while((temp = datei05.get()) != EOF)
{
Array[index++] = temp;
Array[index] = '\0';
}
datei05.close(); // Datei wieder schließen
auswahl = 2;
index = 0;
while(zaehler != auswahl-1)
{
if(Array[index] == '\n')
zaehler++;
index++;
}
cout<<"2. Zeile: ";
cout<< " ";
while(Array[index] != '\n')
{
cout<<Array[index++];
}
cout<<endl;
//--------------------------------------------------------------------------------------------
//6.3 Wieder auslesen der 3. Zeile der Textdatei
ifstream datei06("Kassette01.txt"); // Datei öffnen zum lesen
while((temp = datei06.get()) != EOF)
{
Array[index++] = temp;
Array[index] = '\0';
}
datei06.close(); // Datei wieder schließen
auswahl = 3;
index = 0;
while(zaehler != auswahl-1)
{
if(Array[index] == '\n')
zaehler++;
index++;
}
cout<<"3. Zeile: ";
cout<< " ";
while(Array[index] != '\n')
{
cout<<Array[index++];
}
cout<<endl;
//--------------------------------------------------------------------------------------------
//6.4 auslesen der hinzugefügten Zeile der Textdatei
ifstream datei07("Kassette01.txt"); // Datei öffnen zum lesen
while((temp = datei07.get()) != EOF)
{
Array[index++] = temp;
Array[index] = '\0';
}
datei07.close(); // Datei wieder schließen
auswahl = 4;
index = 0;
while(zaehler != auswahl-1)
{
if(Array[index] == '\n')
zaehler++;
index++;
}
cout<<"Angehängte Zeile: ";
cout<< " ";
while(Array[index] != '\n')
{
cout<<Array[index++];
}
cout<<endl;
//--------------------------------------------------------------------------------------------
//7.Ende des Programms
system("PAUSE");
return 0;
}
DANKE IM VORAUS
MFG tmace85
P.S. Schönen Tag noch