Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Ghandi

Treue Seele

  • »Ghandi« ist der Autor dieses Themas

Beiträge: 218

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

11

09.08.2003, 13:49

ich kenn blos die Funktion send als Befehl zum Senden, und die braucht einen "const char FAR *" als Parameter. wie wandel ich beliebige Datentypen in einen solchen um?
Alles ist gut so wie es ist, am besten ist jedoch das niemand dies akzeptiert.

error C2039: 'DerSinn' : ist kein Element von 'CLeben'

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

12

09.08.2003, 13:53

Total simpel. Überleg doch mal, was ist denn ein char-Array? Ein Byte-Array natürlich! Es sind ganz einfach nur "rohe" Daten und sonst nichts. Natürlich kann das auch ein String sein.
Angenommen Du willst folgende Datenstruktur verschicken:

Quellcode

1
2
3
4
5
6
typedef struct Data
{
    int a, b, c, d;
    float e, f, g, h;
    char z[256];
} DATA;


Dann geht das ganz einfach so:

Quellcode

1
2
3
4
5
DATA Daten;
Daten.a = 10;
Daten.b = -23411;
// ...
send(Socket, (const char*)(&Daten), sizeof(Daten), 0);


PS: Beherrschst Du die Sprache wirklich schon gut genug, um einen File Sharing Client programmieren zu können?

13

09.08.2003, 13:56

__int32 ist eigentlich ein einfacher 32Bit Integer. Es gibt auch ein __int64. Falls man mal etwas mehr brauch ;) Ich glaub auch das die Spezifisch sind. Aber wer VC++ 6 oder höher hat, kann die nutzen.

Zitat

wie wandel ich beliebige Datentypen in einen solchen um?
Na...du kannst es auf die allte C weise machen

Quellcode

1
2
int i;
char* p = (char*)&i;
oder halt auf die C++ Art

Quellcode

1
2
int i;
char* p = reinterpret_cast<char*>(&i);
Ich finds immer blöd wenn die immer char* oder unsigned char* verlangen. Aber was soll man machen. Die hatten wohl noch einen Älteren C Compiler, wo es noch kein void* gab.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Ghandi

Treue Seele

  • »Ghandi« ist der Autor dieses Themas

Beiträge: 218

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

14

09.08.2003, 14:05

Zitat

PS: Beherrschst Du die Sprache wirklich schon gut genug, um einen File Sharing Client programmieren zu können?

Danke, du mich auch. :ohoh: ;)

Aber du könntest recht haben...mal sehen...probieren geht über studieren. Ausserdem lern ich am meisten bei grossen Projekten die mich überfordern. Auch wenn sie am ende nicht funktionieren.

Deshalb danke für die Hilfe, ich werd sehen was ich draus mach. :)
Alles ist gut so wie es ist, am besten ist jedoch das niemand dies akzeptiert.

error C2039: 'DerSinn' : ist kein Element von 'CLeben'

Werbeanzeige