Ceci est la section spécifique du code où je suis confronté à des problèmes en utilisant à la fois les fonctions strcat()
et strncat()
pour concaténer deux chaînes.Quelle est une autre alternative aux fonctions strcat et strncat dans C?
La fonction strcat()
est déclarée comme char *strcat(char *dest, const char *src)
et strncat()
comme char *strncat(char *dest, const char *src, size_t n)
, mais les deux leur donner des problèmes lorsque le second paramètre est un caractère de chaîne, à savoir, qui ne se termine pas avec '\0'
. J'ai besoin de concaténer le caractère à une chaîne.
Y a-t-il une alternative à ces deux fonctions ou existe-t-il un moyen de faire fonctionner ces fonctions?
char *cipher_str = (char *)malloc(sizeof(char) * 26);
for (int j = 0; j < col; j++) {
for (int i = 0; i < col; i++) {
if (min == cipher[0][i] && (done[i] != 1)) {
done[i] = 1;
for (int k = 0; k < rows; k++)
strcat(cipher_str, cipher[i][k]);
}
}
...
S'il vous plaît fournir la définition de 'cipher'. –
Pour seulement ajouter un seul caractère, vous pouvez utiliser 'int l = strlen (s); s [l] = ch; s [l + 1] = 0; '(à condition que vous ayez suffisamment d'espace alloué pour s) – Ctx
@PaulOgilvie char cipher [rows] [col]; –