Bonjour,
y a-t-il un équivalent des fonctoins memcpy, memset ... en C++ standard (sans faire apel à des biblio en plus) ?
Merci par avance,
@+
Bonjour,
y a-t-il un équivalent des fonctoins memcpy, memset ... en C++ standard (sans faire apel à des biblio en plus) ?
Merci par avance,
@+
Salut,
Ce sont des fonctions "standard" dans la mesure qu'elles appartiennent à la librairie standard de C++.
L'équivalent serait de les coder à la main.. mais ça ne servirait à rien, ça serait de la recopie inutile.
A+
std::copy est vraissemblablement plus adapte que memcpy dans pas mal de contextes; mais pas dans tous.
là ça serait pour initialiser (memset) ou pour recopier (memcpy) une structure de type W32_FIND_DATA
merci
Tant que ce que tu copies est un POD (grosso modo une structure sans fonction virtuelle et sans constructeur défini par l'utilisateur), memset fera ce que tu veux. Le reste du temps, mieux vaut utiliser copy, à moins d'être absolument sur et certain de ce que tu es en train de faire.
W32_FIND_DATA n'est pas standard.Envoyé par olive_le_malin
C'est du développement Windows et non standard ; tu peux prendre CopyMemory et initialiser avec ZeroMemory voir MSDN
Mais memcpy suffit amplement pourvu que l'on passe les bons paramêtres avec la bonne taille de structureCopyMemory
The CopyMemory function copies a block of memory from one location to another.
void CopyMemory(
PVOID Destination,
const VOID* Source,
SIZE_T Length
);
//....
void MyCopyMemory(char *pbData, unsigned int cbData)
{
char buf[BUFFER_SIZE];
CopyMemory(buf, pbData, min(cbData,BUFFER_SIZE));
}
Partager