[C/C++]Taille chaine caractère [Résolu]

goutbouyo 429 Messages postés mardi 6 juillet 2004Date d'inscription 12 janvier 2008 Dernière intervention - 22 août 2004 à 14:59 - Dernière réponse : goutbouyo 429 Messages postés mardi 6 juillet 2004Date d'inscription 12 janvier 2008 Dernière intervention
- 23 août 2004 à 14:25
Salut,

Je n'arrive pas à définir la taille de ma chaine de caractère à l'aide d'une variable (nb).
CHAR CHAINE[NB];

En fait il faut que je limite la taille d'un mot que je prend dans une liste, mais cette taille varie en fonction de l'utilisateur.

Comment puis je faire ???
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
cs_djl 3011 Messages postés jeudi 26 septembre 2002Date d'inscription 27 novembre 2004 Dernière intervention - 23 août 2004 à 10:53
3
Merci
"Parce que si je rentre: ordi et que le mot de la liste est ordinateur => ça me le trouve pas."

utilise strstr

mais le probleme c'est que tu n'a pas bien compris les chaines, la taille alloué n'importe pas

Merci cs_djl 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_djl
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 22 août 2004 à 15:14
0
Merci
alloc dynamique par malloc ou new.

ciao...
BruNews, Admin CS, MVP Visual C++
Commenter la réponse de BruNews
goutbouyo 429 Messages postés mardi 6 juillet 2004Date d'inscription 12 janvier 2008 Dernière intervention - 22 août 2004 à 15:33
0
Merci
Je voit pas comment faire ensuite
Commenter la réponse de goutbouyo
cs_djl 3011 Messages postés jeudi 26 septembre 2002Date d'inscription 27 novembre 2004 Dernière intervention - 22 août 2004 à 15:45
0
Merci
tu saisie dans un tableau temporaire de grande taille et tu alloue (malloc) ensuite une chaine (char*) en fonction de sa taille (strlen) et tu copie (strcpy)

ou alors tu fais ca en c++ (std::string)
Commenter la réponse de cs_djl
goutbouyo 429 Messages postés mardi 6 juillet 2004Date d'inscription 12 janvier 2008 Dernière intervention - 22 août 2004 à 16:35
0
Merci
J'ai fait ça :

taille=3;

point = (char *)malloc(taille*sizeof(char)+1);

SendMessage(hCtrl,LB_GETTEXT,line, (LPARAM)(LPTSTR)point);

Mais les valeurs retournées par point ne sont pas limitées en nombre de charactères.
Commenter la réponse de goutbouyo
cs_djl 3011 Messages postés jeudi 26 septembre 2002Date d'inscription 27 novembre 2004 Dernière intervention - 22 août 2004 à 16:42
0
Merci
point = (char *)malloc(taille*sizeof(char)+1);

>

point = malloc(taille + 1);

point pointe sur un bufffer de 4 octets, tu copie quoi et comment ?
Commenter la réponse de cs_djl
goutbouyo 429 Messages postés mardi 6 juillet 2004Date d'inscription 12 janvier 2008 Dernière intervention - 22 août 2004 à 16:51
0
Merci
Je copie une liste ligne par ligne pour faire une recherche.

Je veux faire une chaine de taille variable pour que même si le mot rentré n'est pas exact ça le trouve quand même.

Parce que si je rentre: ordi et que le mot de la liste est ordinateur => ça me le trouve pas.

Si vous avez une idée meilleure, elle est la bienvenue.

Mon code:

//On récupère un HWND sur le controle auquel on va récupérer les mots à vérifier
hCtrl=GetDlgItem(Dlg,IDC_LIST);

//Pour l'instant définit une taille de 3
taille=3;

// Allocation mémoire pour une chaîne de "taille" caractères.
point = (char *)malloc(taille*sizeof(char)+1);

//On récupère le nom du produit de la ligne "line"
SendMessage(hCtrl,LB_GETTEXT,line, (LPARAM)(LPTSTR)point);

//On récupère un HWND sur le controle auquel on va envoyer les noms des produits vérifiés
hCtrl=GetDlgItem(Dlg,IDC_RESULT);
//On envoie les noms des produits
SendMessage(hCtrl,LB_ADDSTRING,NULL, (LPARAM)(LPTSTR)point);

Pour l'instant j'envoie le nom des produits vérifiés pour voir si leur taille se limite ou pas, et là ça marche pas...
Commenter la réponse de goutbouyo
goutbouyo 429 Messages postés mardi 6 juillet 2004Date d'inscription 12 janvier 2008 Dernière intervention - 23 août 2004 à 09:41
0
Merci
SVP j'ai vraiment besoin de ça pour finir mon programme.

Si quelqu'un pouvait m'aider une dernière fois ça serait sympa.
Commenter la réponse de goutbouyo
goutbouyo 429 Messages postés mardi 6 juillet 2004Date d'inscription 12 janvier 2008 Dernière intervention - 23 août 2004 à 11:07
0
Merci
Ok je vais faire des recherches sur strstr.

Merci
Commenter la réponse de goutbouyo
goutbouyo 429 Messages postés mardi 6 juillet 2004Date d'inscription 12 janvier 2008 Dernière intervention - 23 août 2004 à 14:25
0
Merci
C'est bon j'ai réussi !!!
Merci et @++++++.
Commenter la réponse de goutbouyo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.