[C/C++] Minidatenbank

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von krawalldolf, 10. Oktober 2006 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 10. Oktober 2006
    Minidatenbank

    Wie kann ich mit c++ daten aus einer datei aus lesen, die die daten i folgender form enthält?:

    1 # name1 # information1 #....
    2 # name2 # information2 #....
    3 # name3 # information3 #....
    4 # name4 # information4 #....
    ...

    ?(
     
  2. 10. Oktober 2006
    AW: Minidatenbank

    Das kannst du mit fscanf machen, solltest du Probleme dabei haben kannst
    du mir eine PN schicken
     
  3. 10. Oktober 2006
    AW: Minidatenbank

    Hi,

    deine Funktion, die du suchst, ist 'strtok'. Declariert in string.h.

    Einfach mal die MAN-Page angucken, oder bei google eingeben

    Schaut dann so aus:
    Code:
    // file oeffnen
    // jeweils zeilenweise einlesen
    char *ptr;
    ptr = strtok(deine_zeile,"#");
    while (ptr != NULL)
    {
    printf("%s\n",ptr);
    ptr = strtok(NULL,"#");
    }
    Mfg,

    Kolazomai
     
  4. 10. Oktober 2006
    AW: Minidatenbank

    Beispielweise willst unter Vcl eine "test.ini" mit diesem Inhalt speichern/einlesen:

    Code:
    [common] 
    EinPfad=c:\lol\ 
    Nochwas=1 
    
    [bla] 
    test=0
     
    [common] 
    EinPfad=c:\lol\ 
    Nochwas=1
    Zum Speichern:
    Code:
    WritePrivateProfileString("common","EinPfad","c:\\lol\\","test.ini"); 
    WritePrivateProfileString("common","Nochwas","1","test.ini");

    Zum Einlesen:
    Code:
    char EinPfad[500]; 
    char Nochwas[500]; 
    char Test[500]; 
    DWORD destSize;
    
    destSize=500; 
    GetPrivateProfileString("common","EinPfad","NULL",EinPfad,destSize,"test.ini"); 
    GetPrivateProfileString("common","Nochwas","NULL",Nochwas,destSize,"test.ini"); 
    GetPrivateProfileString("bla","test","NULL",Test,destSize,"test.ini"); 
    
    // Wenn die Variablen aus der Ini nicht eingelesen werden können, steht nach dem Aufruf der Default-Wert in Test, EinPfad oder Test (In diesem Beispiel "NULL");
     
  5. 10. Oktober 2006
    AW: Minidatenbank

    1. Zu viele Variablen fuer so ein kleines Vorhaben -> Kommt JETZT in diesem Programm zwar net drauf an. (jetzt das grosse Aber Aber je oefter du dasm achst, desto mehr unnoetiger Speicher wird dir genommen. D.h. erst garnicht so lernen -> Quatsch hoch 3

    2. Viel zu kompliziert

    So, wieso poste ich nochmal ? fgetc ist eigentlich die beste Methode eine Datei einzulesen.
    fscanf geht in diesem Fall zwar auch, kann aber unsicher sein.

    Code:
    #include <stdio.h>
    #define BUF 256
    
    int main(){
    
     int nr,anz;
     char c;
     char buf[20][BUF];
     FILE *dat;
    
     nr=0;anz=0;
    
     if((dat = fopen("blablabla.dat","r")) == NULL)
     {
     printf("Datei nicht vorhanden !\n");
     return 1;
     }
    
     while( (c=fgetc(dat) ) != EOF)
     {
     if[..]
     [..]
     buf[nr][anz]=c;
     anz++;
     }
     return 0;
    }
    
    Ich habe dir den Code nicht vollstaendig geschrieben, wieso nicht ?
    Ich denke, keiner lernt duch Code den er vor die Nase gesetzt kriegt, d.h. Hirn anschalten und dampfen lassen

    EDIT: main vergessen .. ^^
     
  6. 11. Oktober 2006
    AW: Minidatenbank

    ok thx @ all damit kann ich was anfangen.

    Ich schreib dann mal mein proggie weiter ....


    greez euer krawalldolf :]
     
  7. 11. Oktober 2006
    AW: Minidatenbank

    ~closed~

    Mfg,

    Kolazomai
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.