C++ - Comment faire pour ajouter un char à char*?

J'ai essayé jusqu'à bien des égards sur l'Internet pour ajouter un caractère à un char*, mais aucun d'eux ne semble fonctionner. Voici un de mes incomplète solution:

char* appendCharToCharArray(char * array, char a)
{
    char* ret = "";
    if (array!="") 
    {
        char * ret = new char[strlen(array) + 1 + 1]; //+ 1 char + 1 for null;
        strcpy(ret,array);
    }
    else
    {
        ret = new char[2];
        strcpy(ret,array);
    }

    ret[strlen(array)] = a;  //(1)
    ret[strlen(array)+1] = '
char* appendCharToCharArray(char * array, char a)
{
char* ret = "";
if (array!="") 
{
char * ret = new char[strlen(array) + 1 + 1]; //+ 1 char + 1 for null;
strcpy(ret,array);
}
else
{
ret = new char[2];
strcpy(ret,array);
}
ret[strlen(array)] = a;  //(1)
ret[strlen(array)+1] = '\0';
return ret;
}
'
; return ret; }

Cela ne fonctionne que lorsque le tableau transmis est "" (vide à l'intérieur). Sinon, il n'aide pas (et il a eu une erreur lors de la (1)). Pourriez-vous les gars merci de m'aider avec cela ? Merci beaucoup avancé !

Vous ne pouvez pas ajouter un char à un char*; ils sont de deux types très différents. Vous pouvez ajouter un char à la array un char* points.

OriginalL'auteur sonlexqt | 2013-11-10