Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Komisches Verhalten beim speichern in Datei

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
06.01.2004, 23:19 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


naja du sagst du hast 24 level...
ferner sagst du du brauchst koordinaten (ich geh mal davon aus das du x und y brauchst...
da würde ich sowas machen....

C++:
typedef struct{int x;int y;}koordinate;
int i;
koordinate *level[24];
for(i=0;i<24;i++) level[i]=(koordinate*) malloc(sizeof(koordinate)*1001); //oder wieviele auch immer du brauchst....



so für dein ein weiter nach rechts würde ich eine art ringpuffer verwenden.. also ein art zeiger der immer dahin zeigt wo gerade der anfang von deinem bildschirm ist... der rest wird dann einfach wieder von vorne überschrieben....
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
07.01.2004, 22:09 Uhr
~Benny
Gast


Ich hab den "Fehler" gefunden, weiß aber nicht was falsch ist. Muss leider einen großen post machen. Wenn ich die //--- gekennzeichneten Zeilen (2.stk) hinzufüge, dann...


C++:
#include <dos.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include "mouse.glb"
#include "edit_m.glb"
#include "func.glb"

int main ()

{
int i=1,j=1;
int eingabe;
int koord_level[26][1001];
int begend[2];
//--- int koord_color_edit[26][1001];
int config_edit[10];

FILE *datei_edit;

_setcursortype (_NOCURSOR);

begend[0] = 1; begend[1] = 81;
config_edit[0] = 0;

  for (i=1;i<26;i++)
  {
    for (j=1;j<1001;j++)
      {koord_level[i][j] = 0;
//       koord_color_edit[i][j] = koord_level[i][j];
      }
  }

  for (i=0;i<1001;i++)
     {koord_level[24][j] = 100;}

clrscr();

level_anzeigen (koord_level,begend);//,koord_color);

MausReset(1);

while (eingabe != 27)
{
Maus.Taste = 0;
mouse_steuerung (koord_level,/*koord_color,*/config_edit);
ShowMouse(0);

if (Maus.Taste != 1) {eingabe = getch();}

//if (eingabe == 13) {koord_level[Maus.Y][Maus.X] = 1; koord_color[Maus.Y][Maus.X] = 4;}

Maus.Taste = 0;

level_anzeigen (koord_level,begend);//,koord_color);

if (eingabe == 68)
    {
      datei_edit = fopen ("level.999","w"); fclose (datei_edit);

      datei_edit = fopen ("level.999","a");
      for (i=1;i<25;i++)
        {
          for (j=1;j<1000;j++)
          {fprintf (datei_edit,"%d,",koord_level[i][j]);}
           fprintf (datei_edit,"%d,\n",koord_level[i][j]);
        }
      fclose (datei_edit);
    }
//--- if (eingabe == 32) {save_color (koord_color_edit);}   --> Ist nichts anderes wie bei eingabe 68, blos andere Variablen (1:1)
}
ShowMouse(0);
return 0;
}



... speichert er bei koord_level in der 6. zeile Mist und bei den Farben ab Zeile 17 nur Mist. Ich versteh das nicht, ohne die //*** Zeilen geht es wunderbar, ohne Probs. :o(


Bearbeitung von 0xdeadbeef:

Kommentare von //*** zu //--- geändert.


Dieser Post wurde am 08.01.2004 um 02:02 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
07.01.2004, 22:10 Uhr
~Benny
Gast


Ups, Natürlich ist bei mir nur die eine Zeile wo //*** drin steht Kommentar, nicht das was drunter steht. bei der zweiten Zeile das selbe. Sorry
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: