Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Wo liegt hier der Fehler?

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 <
000
30.08.2007, 19:27 Uhr
HansGeorg



Hallo,

wenn ich das Ausführe kommen einige Speicherfehler die ich mir nicht erklären kann. Ich weiß nicht mehr weiter


C++:
int ByteSwap2 (int nLongNumber)
{
   return (((nLongNumber&0x000000FF)<<24)+((nLongNumber&0x0000FF00)<<8)+
   ((nLongNumber&0x00FF0000)>>8)+((nLongNumber&0xFF000000)>>24));
}

double ToDouble(int zahl)
{
return ByteSwap2(zahl) / 0x10000; // Fixpoint 16:16
}
int main(void) {
   int puffer[10];
   FILE *quelle;
   int i;

   quelle = fopen("J:\vektor.dat", "r+b");
   if(quelle != NULL)
      fread(&puffer, sizeof(int), 10, quelle);

   for(i = 0; i < 10; i++)
   {
      printf("Wert %d = %s\n", i, puffer[i]);
      }
      double test = ToDouble(puffer[2]);
      cout<<test;
      getch();
return 1;
}



findet Ihr meinen fehler? ich hab irgendwas falsch gemacht
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.08.2007, 19:45 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


printf und cout im selben programm ist schon mal für C++ sehr unsauber - also nicht C und C++ mischen! Und da ist dann auch dein Fehler:


C++:
printf("Wert %d = %s\n", i, puffer[i]);



%d = int
%ld = long
%s = chararray
%f = float
%lf = double
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ 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: