Bonjour,

J'essaie d'ajouter des espaces vides au bout d'une chaîne de caractères de dimension variable et j'ai des problèmes du type:

Unhandled exception at 0x004240ba in CASMessages.exe: 0xC0000005: Access violation writing location 0x00463403.

Voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class CObjetQuelconque :
{
    struct{
          char *mNumber;
     }xStruct; 
 
public:
     void setMNumber(char* iMNumber);
 
}
 
 
 
void CObjetQuelconque::setMNumber(char* iMNumber)
{ 
      xStruct.mNumber = iMNumber;
      strncat(xStruct.mNumber, " ", 6 );
 
      return;
}
 
int _tmain(int argc, _TCHAR* argv[]){ 
 
     CObjetQuelconque *ObjetQuelconque = new CObjetQuelconque;
     ObjetQuelconque->setMNumber("123456");
}
Je dois garder les structures de types de données intactes pour plusieurs raisons, donc, s'il-vous-plaît, proposer quelque chose qui tiendra compte de mes restrictions.

Prenez également note que je ne peux ajouter un caractère de fin de ligne à la fin.

merci