VBFRANCE
Messages postés22Date d'inscriptionjeudi 10 janvier 2002StatutMembreDernière intervention25 juin 2008
-
15 mai 2004 à 19:44
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 2004
-
15 mai 2004 à 19:50
Je suis tout nouveau dans la C++, en fait je decouvre. j'ai un soucis avec les class. En fait, j'ai creer un class pour les strings, jusque la pas de probleme. Mais je n'arrives pas a aceder a l'element de ma string pour en savoir le longueur. Pourtant ma class, et ma fonction marchent. J'ai un message d'erreur: 'strlen' : cannot convert parameter 1 from 'class String' to 'const char *'.
J'aimerais que ma fonction puisse fonctionner qq soit le type de chaine de caractere entrés.
Voici mon code:
#include <string.h>
#include
class String
{
public:
// Constructeur par default
String() : len(0), ptr(new char('\0')) {}
// Constructeur par copie
String &operator = (const char *);
//-------------------------------------------------------------------
// Objets de la class
//-------------------------------------------------------------------
//-------------------------------------------------------------------
// Fin des Objets de la class
//-------------------------------------------------------------------
//-------------------------------------------------------------------
// Fonctions
//-------------------------------------------------------------------
// Retourne la longueur d'une chaine
__declspec(naked) unsigned int String_Len(char* String1)
{
__asm {
mov ecx,[esp+4]
xor eax, eax
debut:
inc eax
inc ecx cmp byte ptr [ecx],0
jnz short debut
ret
}
}
//-------------------------------------------------------------------
// Fin des fonctions
//-------------------------------------------------------------------
cout << "longueur de la Chaine temp1 par strlen: "<< strlen(temp1) << endl;
cout << "longueur de la Chaine temp1 par fonction: " << String_Len(temp1) << endl <<endl;;
cout << "longueur d'un Chaine temp1 par strlen: "<< strlen("Bonsoir vous tous") << endl;
cout << "longueur d'une Chaine temp1 par fonction: " << String_Len("Bonsoir vous tous") << endl <<endl;;
/* ces deux la ne marchent pas
cout << "longueur de la Chaine temp2 par strlen: "<< strlen(temp2) << endl;
cout << "longueur de la Chaine temp2 par fonction: "<< String_Len(temp2) << endl;
*/
}