Pourquoi le code suivant ne fonctionne-t-il pas?Problème de chaîne de concaténation C++
#include <iostream>
#include <string>
int main(){
char filename[20];
cout << "Type in the filename: ";
cin >> filename;
strcat(filename, '.txt');
cout << filename;
}
Il devrait concaténer « txt » à la fin de ce que le nom de fichier est entré
Aussi, lorsque je tente de le compiler (avec g ++) tel est le message d'erreur
Beaucoup de gens disent utiliser 'std :: strings' au lieu de tableaux de caractères. En plus du fait que 'std :: strings' est plus facile à utiliser pour prendre en charge des choses comme la concaténation, ils sont aussi plus sûrs à utiliser, car il est facile d'introduire des bogues (exploitables) lors de l'utilisation de tableaux de caractères. Par exemple, que se passe-t-il si l'utilisateur entre un nom de fichier de plus de 19 caractères (1 caractère est utilisé pour les caractères de terminaison nulle)? – Brian