Zum Inhalt springen

wawa

Mitglieder
  • Gesamte Inhalte

    4
  • Benutzer seit

  • Letzter Besuch

    Nie
  1. yepp.. daniel hat recht. wir benutzen auch client access...
  2. so ein zufall.. die gleiche aufgabe habe ich gestern abend mit einem freund gemacht.. der hatte ein arbeitsblatt von der berufsschule bekommen... aber egal char string[256] char suchstring[]="hanspeter"; fin.getline(string) war das glaube ich das der eine ganze zeile in den buffer "string" schreibt.. dann kannste mit strstr(string, suchstring) den string nach dem suchstring durchsuchen.. das ganze machste in einer while schleife mit eof oder feof... bye
  3. wawa

    Datenbank in C++

    also beim msvc++ kannste nix "zusammenklicken" ... naja egal.. also datenbank am beispiel eines adressprogramms: (nicht getestet!!) #include <iostream> #include <fstream> using namespace std; class adressen // klasse definieren, bsp "adressen" { public: void lesen(daten*); // um von einer datei datensätze auszulesen void schreiben(daten*); // um in eine datei datensätze zu schreiben void ausgabe(nr); // zum ausgeben der datensätze void eingabe(nr); // zum eingeben der datensätze private: char name[256][256]; // 2d-charfelder für variablenund datensatznummer als index char tel[256][256]; // ... char ort[256][256]; // ... }; void adressen::lesen() // funktion zum lesen aus der datei { ifstream fin("Adressen.dat", ios::binary); // fin wird zum öffnen von "adressen.dat" deklariert .. das ganze binär! if(!fin) // falls ein fehler auftritt, oder die datei nicht vorhanden ist..etc cout<<"Fehler bei dateizugriff!!"; else { fin.read((char*)daten,sizeof *daten); // dateiinhalt wird ausgelesen. fin.close(); // datei wird geschlossen. } } void adressen::schreiben() // funktion zum schreiben in eine datei { ofstream fout("Adressen.dat", ios::binary); // fout wird zum schreiben von "adressen.dat" deklariert .. das ganze binär! if(!fin) // falls ein fehler auftritt, die datei nicht vorhanden ist..etc cout<<"Fehler bei dateizugriff!!"; else { fout.write((char*)daten,sizeof *daten); // komplette datensätze werden in datei geschrieben. fout.close(); // datei wird geschlossen. } } void adressen::ausgabe() // funktion zum ausgeben von datensätzen { cout<<"name: "<<name[nr]<<endl; // der name der datensatznummer wird ausgegeben. cout<<"wohnort: "<<ort[nr]<<endl; // der ort ausgegeben. cout<<"telefonnummer: "<<tel[nr]<<endl; // die tel.nummer wird ausgegeben. } void adressen::eingabe() // funktion zum eingeben von datensätzen { // eingabe kram.. is denke ich mal alles klar...... cout<<"name eingeben: "; cin.ignore(1,'\n'); cin.getline(name[nr], 256,'\n'); cout<<"wohnort eingeben: "; cin.getline(ort[nr], 256,'\n'); cout<<"telefonnummer eingeben: "; cin.getline(tel[nr], 256,'\n'); } class adressen daten; void main() { int menu, nr = 0; // menu zur auswahl, nr = datensatznummer. do // solange bis 0 eingegeben wird (oder ein buchstabe.. lol) { cout<<"1 - datensatz eingeben.\n"; cout<<"2 - datensatz ausgeben.\n"; cout<<"3 - datensatz in datei speichern.\n"; cout<<"4 - datensatz aus datei laden.\n"; cout<<"0 - ende.\n"; cin>>menu; switch(menu) { case 1: cout<<"datensatznummer eingeben(1 - 100): "; cin>>nr; daten.eingabe(nr-1); // funktion eingabe wird die datensatznummer übergeben break; case 2: cout<<"datensatznummer eingeben(1 - 100): "; cin>>nr; daten.ausgabe(nr-1); // funktion ausgabe wird die datensatznummer übergeben break; case 3: cout<<"\ndatensatz wird gespeichert\n"; daten.speichern(*daten); // funktion speichern wird der komplette datensatz übergeben cout<<"\ndatensatz ist gespeichert\n"; break; case 4: cout<<"\ndatei wird geöffnet\n"; daten.lesen(*daten); // funktion lesen wird übergeben. kann probleme geben... habe aber keine lust mehr.. morgen vielleicht cout<<"\nsie können nun mit auswahl 2 ihre daten abrufen!\n"; break; case 0: break; default: cout<<"\nfalsche eingabe!\n"; } }while(menu != 0); } // dat wars [/code] und schon haste eine kleine datenbank in c++ ;-) wie gesagt, ich habe es nicht getestet... aber so der ansatz dürfte klar sein denke ich. bye ps: schafft euch mal einen [i]syntax-highlightning-ubb[/i] an
  4. wenn du jetzt doch (aus welchem grund auch immer) einen puffer haben möchtest der so groß ist wie die ganze datei, dann kannst du es so machen: #include <sys/stat.h> // _stat ... int size; struct _stat buf; ... size = buf.st_size; char *buffer = new char[size]; ... dann ist buffer so groß wie die datei, aber ob es sinn macht..... eher nicht, stell dir vor du musst mit einer datei arbeiten die 1gb groß ist du solltest es also so machen wie poldi es erklärt hat

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...