memory.h nicht zu cmemory?

Dein Thema passt einfach in kein Forum? Dann probiers mal hier.
Antworten
uhu01
Beiträge: 150
Registriert: 10. Juli 2005 20:46

memory.h nicht zu cmemory?

Beitrag von uhu01 »

Hy!

Mal was anderes: C/C++ Basics.

Ich dachte bis heute das alle C System Header (stdio.h...) zu Headern mit dem Prefix "c" (cstdio) "umbenannt" wurden. Gleichzeitig wurden doch auch alle Funktionen dieser Header dem std:: Namespace hinzugefügt.

Da ich bei meinem neuesten Projekt auch mit einem CAN-Adapter arbeiten muss (Diplomarbeit), komme ich um ein bisschen arbeiten mit Arrays, und ein paar low-level (memset, memcpy) operationen nicht herum.

Ich includiere also "cmemory" und möchte std::memcpy benutzen.
Beim kompilieren -> Fehler

Sind beim "umbenennen" einige C-Header ausgelassen worden? Weis vielleicht jemand warum? Oder ist das nur bei mir so?

Ich nutze diesmal übrigens Visual Studio .Net 2003

mfg
uhu01
-Marco-
Beiträge: 47
Registriert: 4. April 2006 16:35

Beitrag von -Marco- »

memory.h ist ein veralteter C-Header und nur noch aus Kompatibilitätsgründen vorhanden. Wenn du in diesen mal reinschaust wird dir auffallen, daß dieser die string.h includiert.
Ergo, memcpy und Konsorten sind in der string.h deklariert, dh. du mußt die cstring nehmen.
Gruß Marco
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ich würde C nicht mit C++ verwechseln...
string.h - C
cstring - C++
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
uhu01
Beiträge: 150
Registriert: 10. Juli 2005 20:46

Beitrag von uhu01 »

Hy!

Erst mal danke für eure Antworten

@Marco Danke, hab ich schon gemacht

@Christian81 Danke, war mir klar, deswegen auch im Namespace und eben die Frage nach dem Header, da ich keine cmemory gefunden hatte.

mfg
uhu01
Antworten