unendlich grosses File erzeugen



  • Hallo

    Ja sorry. Ich suche aber was für Windows und nicht Linux !

    open - hab ich zum öffnen von Dateien.
    lseek - ist auch unter Windows vorhanden, doch diese arbeitet auch nur bis 32Bit.
    Aber ich finde nichts für Windows das bis 64Bit Arbeitet !?

    lseeki64 habe ich gefunden doch die scheint mein .....

    Nachtrag :
    Habe _lseeki64() gefunden und das ist genau das was ich gebraucht hatte.
    Danke gleich ...

    Danke



  • also das ist für windows...

    falls du das hinbekommst dann poste bitte nocht mal den neuen code



  • Hallo

    Warum sollte das nicht funktionieren ?



  • Hallo

    Ich will die Datei auch noch öffnen können 😉
    Bei dir ist das mit fopen() nicht mehr möglich !

    gr.fr



  • Hi

    Dein Code ist ja auch zum .....

    oleeiner schrieb:

    void datei()
    {     FILE *dat_ein;
          unsigned long long mb = 0;
          unsigned long long a = 0;
          dat_ein = fopen(DATEN, "a+");
          fclose(dat_ein);
          mb = 4096;
          for(a; a<mb; a++);
          {
          FILE *dat_ein;
          unsigned char data[1024*1000];
          data[0] = '\0';
          dat_ein = fopen(DATEN, "a+b");
          fwrite(&data, sizeof(data), 1, dat_ein);  <--- Falsch !!
          fclose(dat_ein);
          }
    }
    

    Als ersten ruft man fwrite() so auf !

    fwrite(&data, 1, sizeof(data), dat_ein);
    

    Das zweite ist, wie willst du das 4GB File mit fopen wieder öffnen ? Dazu brauchst du schon unter Windows:open() ,_lseeki64 ,_telli64().
    Und auf die Unix/Linux Derivaten hat glaube ich schon Volkard hingewiesen.

    lowbyte



  • Hi

    Und wie Wutz schon darauf hingewiesen hat ist 1024 * 1000 byte ungleich 1MB.
    Das sollte schon eher heissen 1024*1024 == 1MB.

    lowbyte



  • @ lowbyte:
    mein gott wie mein code aussieht ist mir doch scheiß egal ich hab nicht info studiert aber hab es vlt ma vor im moment reicht es mir wenn ich einfache programme verstehe und so weiter und natürlich kann ich die datei öffnen in dem ich sie anklicke....
    ich hab kein windows 95 mehr wo man alles mit der console machen muss sondern windows 7...

    reicht nicht annährend ein mb auch? xD



  • Hi$

    schrieb:
    ich hab kein windows 95 mehr wo man alles mit der console machen muss sondern windows 7...

    Ja und, ich auch nicht ... dass ist imo völlig egal welches System du verwendest.
    Es geht hier um die Programmierung ! Und ich denke, wenn du schon ein 5-10GB File erzeugst ( warum auch immer 🙄 ) .. dann solltest du schon dafür sorgen das du es wider öffnen kannst. Oder willst du nur müll Speichern ? Was bringt es dir überhaubt alles mit Dezimal 0 zu füllen. Ist mir ja eigentlich auch völlig egal.

    Ps:
    Kannst ja mal Probieren de 4GB müll mit notepad zu öffnen 😉
    Aber der aufruf von fwrite solltest du nochmal überdenken, da dies falsch ist !
    Und für was du 4GB müll speicher willst ist mir schleierhaft!?

    lowbyte



  • ich meine wenn man schon ein so großes file erstellt dann geht es um die größe und nicht darum das ma es wieder öffnen kann wär ja auch sinnlos es steht nur müll drin...

    was will ich mit 4gb dateien...
    weiß ich nicht fr wollte was damit ich hatte nur lw xD
    man kann natürlich freunden die platte vollspeichern... aber ist recht nutzlos

    also ich muss jetzt das 1024 * 1000 in 1024 * 1024 ändern ist ja klar aber dann stürzt das programm ab wieso?



  • Hi

    Du solltest fwrite() beachten ! So wie du die Funktion aufrufst ist es falsch. Habe das schon mehrfach erläutert.

    Und du kannst nicht einfach so viel Speicher wie es dir passt auf dem stack schieben. Das kann man zwar anpassen, doch das ist hier nicht die lösung !
    Besser Speicher dynamisch vom Heap zu allokieren.

    lowbyte



  • Hi

    oleeiner schrieb:

    man kann natürlich freunden die platte vollspeichern... aber ist recht nutzlos

    no comment !

    Wenn die 4GB noch Random wären, könnte man es wenigstens noch verstehen ... 🙂

    Vielleicht solltest du es nochmals mit Lego probieren 😃 😉

    lowbyte



  • ich lass es so mir reicht es wenn der ne weile daten schreibt ich hab jetzt kein bock stunden bücher oder das internet zu wälzen um zu verstehen was du meinst xD



  • falls du mir das erklären willst schreib ma bitte ne mail 😉

    pittiplatsch1995 @ yahoo .de

    ohne leerzeichen 😉


Anmelden zum Antworten