Dateien öffnen

Kaiser206

Erfahrenes Mitglied
Hallo,

Ja ich weiß diese Frage wurde 1000 mal gestellt und 1000 mal beantwortet aber ich bin trotz stundemlangem Experementieren kein Stück weitergekommen.

Und zwar will ich eine Anwendung erstellen die beim starten ein message Box öffnet und einen String ausgibt den sie aus der datei datei.txt im selben verzeichnis aus der ersten Zeile ausließt.

Ich entwickle das programm in einem Editor und compiliere(Visual Studio 6) das dann mit "cl". Ich habe mir alles durchgelesen was es hier im Forum gab und die ganze Microsoft bibliothek durchsucht und nur ungenaue Beschreibungen gefunden.

In C++ Builder war das so:
Code:
TStringList *Liste;
Liste = new TStringList;
Liste->LoadFromFile("datei.txt");
ShowMessage(Liste[0]);

In Visual C++ scheint es nicht zu funktionieren.

Das einzigste was bei mir ging ist das:
Code:
FILE *stream;
file_stream.open("datei.txt",1);
file_stream.close();
Damit lässt sich die Datei aber weder öffnen noch sonstwas.

Kann mir jemand bitte genau erklären wie es den nun geht?

Danke im Vorraus!

PS: Ich weiß ich bin dumm. Helft mir aber bitte trotzdem...
 
Zuletzt bearbeitet:
Hi.

Ich weiss nicht genau was in deinem Beispiel file_stream ist !

Du könntest entweder ifstream benutzen oder fopen.

Beispiel:
Code:
FILE *datei;
datei = fopen( "datei.txt", "r" );
 
Code:
FILE *datei;
datei = fopen( "datei.txt", "r" );

Ja toll und dann?

Das habe ich auch mal versucht aber nix weiter geschafft...

Was kann ich jetzt mit der Variable datei machen? Es ist ja kein Array oder so.

-------------
ok sorry tippfehler :rolleyes:
es sollte stream und nicht file_stream heißen :rolleyes:
 
tja,
Wie genau soll das denn funktionieren?

Angenommen ich will mal diese Datei öffnen

Code:
dfvsev
erger
efweaf
TEXT
ewge
esg

und die 1 Zeile ausgeben. Wie soll das Programm dann aussehen?
 
Liest die erste Zeile aus der Textdatei und gibt diese aus...
Keine Fehlerbehandlung etc... nur ein simples Bsp.

Code:
 FILE *datei;
  datei = fopen( "datei.txt", "r" );
  char s[90];
  fscanf( datei, "%s",s);
  //Hier in deinem Fall eine MessageBox...
  printf( "%s\n", s );
  fclose( datei );
 
Ich hätte da noch eine Frage:

Ich will jetzt zumbeispiel die ganze datei auslesen, weiß aber nicht wie lang sie ist. Ich habe das hier versucht, aber mein pc stürzt dabei ein:

Code:
char s[90][90];
while(fscanf(datei, "%s",s[zeile]))
     zeile++;
 
Zuletzt bearbeitet:
Ausserdem ist noch folgendes Problem:

Ich will diese datei wiedergeben:

Test1 Test2
Test3

Stadessen aber wird nur "Test1" wiedergegeben. Und "Test2" wird als nächste zeile behandelt.
 
Zuletzt bearbeitet:
Ich lese Dateien zeilenweise so aus:

Code:
CStdioFile DateiLaden;
CString strDateiName, strTemp;
 
m_strEdit1="";
strDateiName="C:\\text.txt";
 
// Daten aus Datei auslesen und anzeigen
if(DateiLaden.Open(strDateiName, CFile::modeRead))
{
while(DateiLaden.ReadString(strTemp))
{
	 // Datei zeilenweise auslesen
	 m_strEdit1 += strTemp + "\r\n";
}
DateiLaden.Close ();
SetDlgItemText(IDC_EDIT1, m_strEdit1);
}
else
MessageBox ("Fehler beim Öffnen der Datei - Laden wurde abgebrochen", "Fehler", MB_ICONINFORMATION);

m_strEdit1 ist eine Member-Variable (Typ: CString) von einem mehrzeiligen Eingabefeld worin der ausgelesene Text ausgegeben wird. Den Pfad in strDateiName musst du natürlich noch anpassen.
 

Neue Beiträge

Zurück