• 16.07.2025, 22:10
  • Register
  • Login
  • You are not logged in.

 

Man_In_Blue

Moderator

C++ - zugriff auf externe Dateien

Sunday, November 12th 2006, 9:13pm

Hi,

ich möchte mit C++ auf ext. (txt)-Daten zufreifen und eben Datein einlesen und ausgeben können...

hab für die ganz extenziellen dinge auch schon ne beschreibung gefunden... aber wie Manage ich die verschiedenen "datensätze" am besten?

Man In Blue
A sinking ship is still a ship!

Eikman

Moderator

Re: C++ - zugriff auf externe Dateien

Sunday, November 12th 2006, 10:51pm

Serialisierung rockt!

http://www.parashift.com/c++-faq-lite/serialization.html

Hab ich mir jetzt, bis auf die Überschriften, nicht durchgelesen, aber scheint als Tutorial ganz okay zu sein.

Y0Gi

God

Re: C++ - zugriff auf externe Dateien

Monday, November 13th 2006, 12:33am

Öhm... du willst was in C++ entwickeln aber weißt nicht, wie man Dateien einliest bzw. hast keine Referenz (z.B. ein Buch) parat, um das nachzuschlagen?

composer

Full Member

Re: C++ - zugriff auf externe Dateien

Monday, November 13th 2006, 2:05am

Sehr flexibel ist man eigentlich schon mit den STL-Stream-Klassen (z.B. ifstream)... Ein Framework kann man natürlich auch benutzen, das hört sich aber eher nach einer quick'n'dirty-Geschichte an ;-)

Man_In_Blue

Moderator

Re: C++ - zugriff auf externe Dateien

Tuesday, November 14th 2006, 4:30pm

Quoted from "Y0Gi"

Öhm... du willst was in C++ entwickeln aber weißt nicht, wie man Dateien einliest bzw. hast keine Referenz (z.B. ein Buch) parat, um das nachzuschlagen?


ich will nix entwickeln... ich will mich auf zukünftige Themen die wir im Unterricht behandeln werden vorbereiten... ::)

Man In Blue
A sinking ship is still a ship!

JOJBer

Full Member

Re: C++ - zugriff auf externe Dateien

Tuesday, November 14th 2006, 11:32pm

Also wenn du dich Informieren möchtest sind es unter C++ (98) im wesentlichen volgende Klassen für das Arbeiten mit Dateien: File, Stream, Streamreader, StreamWriter, FileStream, FileInfo

Man_In_Blue

Moderator

Re: C++ - zugriff auf externe Dateien

Tuesday, November 14th 2006, 11:34pm

@ JOJBer:

kann mich ja irren... aber ist das jetzt nicht C#?

Man In Blue
A sinking ship is still a ship!

JOJBer

Full Member

Re: C++ - zugriff auf externe Dateien

Tuesday, November 14th 2006, 11:36pm

sorry schaue gerade noch mal über den Code ist nicht von mir ist aber laut Buch C++98-Std-Biblio

oder auch nicht, die dll ist aus dem Framework, ich suche noch mal was andere raus

//******************
#using <mscorlib.dll>
using namespace System;
using namespace System::IO;

int main() {

// Textdatei lesen, Version 1 (Zeilenweise) :
StreamReader* sr1 = File::OpenText("fileio.cpp");
/* oder:
Stream* st1 = File::OpenRead("fileio.cpp");
StreamReader* sr1 = new StreamReader(st1);
*/
String* line = new String(S"");
line = sr1->ReadLine();
while (line != 0) {
Console::WriteLine(line); line = sr1->ReadLine();
}
sr1->Close();

// Textdatei lesen, Version 2 (Zeichenweise) :
StreamReader* sr2 = File::OpenText("fileio.cpp");
int ch = sr2->Read();
while (ch > 0) {
Console::Write((__wchar_t)ch); ch = sr2->Read();
}
sr2->Close();

// Textdatei kopieren (Zeichenweise) :
StreamReader* sr3 = File::OpenText("fileio.cpp");
Stream* st4 = File::OpenWrite("xxx.xxx");
StreamWriter* sw3 = new StreamWriter(st4);
ch = sr3->Read();
while (ch > 0) {
sw3->Write((__wchar_t)ch); ch = sr3->Read();
}
sr3->Close(); sw3->Close();

// Formatiert in eine Textdatei schreiben:
int n = 123;
float x = 12.34f;
double dx = 56.78;
Stream* st5 = File::OpenWrite("yyy.yyy");
StreamWriter* sw5 = new StreamWriter(st5);
String* s5 = String::Format(S"n = {0:D6}; x = {1:F6}; dx = {2:E6}",__box(n), __box(x), __box(dx));
sw5->Write(s5); sw5->WriteLine();
sw5->Close();
}
//********************

JOJBer

Full Member

Re: C++ - zugriff auf externe Dateien

Tuesday, November 14th 2006, 11:58pm

so ein zweiter Versuch

//**********+
#include <fstream>
#include <iostream>

using namespace std;

int main(){
char sName[50], sName2[50], sFileName[50];
int iAge;

cout << "Enter First Name: ";
cin >> sName;
cout << endl << "Enter Last Name: ";
cin >> sName2;
cout << endl <<"Enter Age: ";
cin >> iAge;

cout << "\nEnter Filename: ";
cin >> sFileName;
ofstream Students(sFileName, ios::out);
Students << sName << "\n" << sName2 << "\n" << iAge;

cout << "\n\n";
return 0;
}
//************

Zeilenweise einlesen:

ifstream Textstream("Text.txt");
cout << "Inhalt von Datei:\n";
while (Textstream.get(sLine)) cout << sLine;
cout << "\nEnde der Ausgabe\n";
Textstream.close();