Taille d'un LPCVOID

Signaler
Messages postés
12
Date d'inscription
samedi 18 septembre 2004
Statut
Membre
Dernière intervention
2 juin 2006
-
Messages postés
12
Date d'inscription
samedi 18 septembre 2004
Statut
Membre
Dernière intervention
2 juin 2006
-
DWORD myfprintf ( LPCVOID texte )

{

WriteFile ( fichier, texte,strlen(texte), &taille, NULL );
}





J'ai simplifié la fonction pour la compréhension,si j'ai bien compris
strlen attend un const char* en argument alors que je lui passe un
LPCVOID(je ne peux pas changer!)

J'ai donc une erreur à la compilation,comment récupérer alors la taille en sachant que sizeof ne marche pas non plus!?
A voir également:

9 réponses

Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
DWORD myfprintf (LPCVOID texte, DWORD size)
{
WriteFile ( fichier, texte,size, &taille, NULL );
}

La taille DEVRA être calculer en dehors de la fonction.

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Un pointeur void vaut toujours 4 octects. Impossible de savoir la taille de sa donnée dans la fonction.

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
strlen() possible si on est certain que c'est une chaine, autrement il faut par force un param disant le nbr d'octets à écrire.

ciao...
BruNews, MVP VC++
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Ouais c'est ce que je disais et tu remarquera que j'ai retenue la leçon (un pointeur vaut 4 octects (en 32bits))

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
Mais c'est clair pour tout le monde que ton imprimante interne fonctionne parfaitement.

ciao...
BruNews, MVP VC++
Messages postés
12
Date d'inscription
samedi 18 septembre 2004
Statut
Membre
Dernière intervention
2 juin 2006

Merci à tous!



J'ai résolu mon pb comme ceci




DWORD myfprintf ( LPCVOID texte,int i )

{

WriteFile ( fichier, texte,i, &taille, NULL );

}


Je ne calcul pas la taille hord de la fonction mais je donne la valeur
à i suivant ce que je lui envoie dans "texte",c'est pas trés
propre mais ça marche (alors quand on est débutant ^^)



++
Messages postés
12
Date d'inscription
samedi 18 septembre 2004
Statut
Membre
Dernière intervention
2 juin 2006

d'ailleurs c'était le conseil donné plus haut :-)
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
"Je ne calcul pas la taille hord de la fonction mais je donne la valeur à i suivant ce que je lui envoie dans "texte"" Je comprend pas. Quesque tu veut dire. Tu fais comme ça???

myfprintf("Bonjour", 7);

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
12
Date d'inscription
samedi 18 septembre 2004
Statut
Membre
Dernière intervention
2 juin 2006

oui

......
myfprintf("Bonjour", 7);


myfprintf("good", 4);

....
myfprintf (&Char,1);

/auteurdetail.aspx?ID=617077 DWORD myfprintf (LPCVOID texte, DWORD size)
{
WriteFile ( fichier, texte,size, &taille, NULL );
}