Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1601 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  chaine de longeur fixe [facile mais jy arrrive po]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

chaine de longeur fixe [facile mais jy arrrive po]

n°367814
red factio​n
Posté le 21-04-2003 à 18:06:44  profilanswer
 

voila je doit passer une chaine de caractere dans une structure puis appeler une fonction qui lutilise , le prob c que la chaine doit faire 16 caracteres
 
je recupere cette chaine comme ca :
 

Code :
  1. char servername[16];
  2. GetDlgItemText(hWndDlg,ID_SNAME,servername,16);


 
 
ensuite je lance la fonction qui utilise le nom :
 

Code :
  1. memcpy(ncb.ncb_name,servername,16);
  2. Netbios(&ncb); //ca plante


 
 
//avant je faisait memcpy(ncb.ncb_name,"SERVER          ",16);  
//et ca marchait  
//jai essaye de faire ca avant dapeller memcpy :  
//sprintf(servername,"%16s",servername); mais c toujours pas bon


Message édité par red faction le 21-04-2003 à 18:08:24
mood
Publicité
Posté le 21-04-2003 à 18:06:44  profilanswer
 

n°367815
Taz
bisounours-codeur
Posté le 21-04-2003 à 18:08:24  profilanswer
 

qui des fonction str*?
tu es sur d'avoir de la place pour ton '\0' final?

n°367816
red factio​n
Posté le 21-04-2003 à 18:10:31  profilanswer
 

ok pour la taille du tableau mais au final ca fait ca
 
"SERVER\0         "
 
alors quit faudrait que ce soit comme ca :  
 
"SERVER          \0"

n°367817
polo021
Posté le 21-04-2003 à 18:12:04  profilanswer
 

red faction a écrit :

voila je doit passer une chaine de caractere dans une structure puis appeler une fonction qui lutilise , le prob c que la chaine doit faire 16 caracteres
 
je recupere cette chaine comme ca :
 

Code :
  1. char servername[16];
  2. GetDlgItemText(hWndDlg,ID_SNAME,servername,16);


 
 
ensuite je lance la fonction qui utilise le nom :
 

Code :
  1. memcpy(ncb.ncb_name,servername,16);
  2. Netbios(&ncb); //ca plante


 
 
//avant je faisait memcpy(ncb.ncb_name,"SERVER          ",16);  
//et ca marchait

//jai essaye de faire ca avant dapeller memcpy :  
//sprintf(servername,"%16s",servername); mais c toujours pas bon


 
 
et pourquoi tu gardes pas ta premiere solution  :??:

n°367818
red factio​n
Posté le 21-04-2003 à 18:14:07  profilanswer
 

parce que le nom du serveur a cree doit etre pouvoir choisi par lutilisateur , c mieux

n°367823
polo021
Posté le 21-04-2003 à 18:30:13  profilanswer
 

l'user entre ds un tablzeau de char, et tu mets des ' ' jusqu'a arriver a 16 caracteres dans ton tableau puis tu le copie dans la structure du ncb a la bionne place et c'est tout , non?
 
 

n°367825
Taz
bisounours-codeur
Posté le 21-04-2003 à 18:33:59  profilanswer
 

moi j'ai toujours pas compris le problème

n°367828
polo021
Posté le 21-04-2003 à 18:41:34  profilanswer
 

++Taz a écrit :

moi j'ai toujours pas compris le problème


il a qu'à demander à dudu hein aussi!

n°367830
red factio​n
Posté le 21-04-2003 à 18:48:26  profilanswer
 

polo021 a écrit :


il a qu'à demander à dudu hein aussi!


 
 
toi t'en sait de trop  :non:  
 
 
 
(comment ta capté??????)

n°367840
polo021
Posté le 21-04-2003 à 19:11:58  profilanswer
 

red faction a écrit :


 
 
toi t'en sait de trop  :non:  
 
 
 
(comment ta capté??????)
 


 :lol:  
 :sol:  
 :hello:

mood
Publicité
Posté le 21-04-2003 à 19:11:58  profilanswer
 

n°367902
leneuf22
Posté le 21-04-2003 à 20:46:42  profilanswer
 

Le \0 final, il est compté dans les 16 caractères ?

n°367933
Taz
bisounours-codeur
Posté le 21-04-2003 à 21:22:10  profilanswer
 

non

n°368022
red factio​n
Posté le 21-04-2003 à 22:18:18  profilanswer
 

c bon je fait comme ca :
 
 
 

Code :
  1. void strn(char* str){
  2.      int i=0;
  3.      for( ; *str= toupper(*str) ; str++,i++ );
  4.  for( ; i<16 ; str++,i++ ) *str= ' ';
  5. }

n°368025
Taz
bisounours-codeur
Posté le 21-04-2003 à 22:19:24  profilanswer
 

qu'estce que t'en à a foutre de mettre du blanc après. ça suffit pas un \0?

n°368046
polo021
Posté le 21-04-2003 à 22:44:16  profilanswer
 

++Taz a écrit :

qu'estce que t'en à a foutre de mettre du blanc après. ça suffit pas un \0?


si j'ai bien compris c'est ca le probleme, il faut du blanc apres.
 
EDIt  : et ca fonctionne comme ca?


Message édité par polo021 le 21-04-2003 à 22:51:13

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  chaine de longeur fixe [facile mais jy arrrive po]

 

Sujets relatifs
[FORTRAN] convertir une chaine caractere en entiercomment vérifier qu'une chaine ne commence ni ne fini par un espace
[c/c++]Decoupage de chaine !Trouver la chaine entre deux chaines
URL -> CGI -> Chaine de caractère -> En faire une String ?Supprimer plusieurs caractères dans une chaine ?
[VB] transformer une chaîneEntrer une chaine de caractere en mode INVISIBLE [PERL]
Formattage de chaine concisdebutant : fonction retournant une chaine de charactere
Plus de sujets relatifs à : chaine de longeur fixe [facile mais jy arrrive po]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR