128 votes

Comment concaténer deux chaînes de caractères en C++ ?

J'ai une variable de classe privée char name[10] à laquelle je voudrais ajouter le .txt afin que je puisse ouvrir le fichier présent dans le répertoire.

Comment dois-je m'y prendre ?

Il serait préférable de créer une nouvelle variable de type chaîne qui contienne la chaîne concaténée.

0voto

Madhurya Gandi Points 837

Strcat(destination,source) peut être utilisé pour concaténer deux chaînes de caractères en c++.

Pour avoir une compréhension approfondie, vous pouvez consulter le lien suivant

http://www.cplusplus.com/reference/cstring/strcat/

0voto

i.AsifNoor Points 557

Il est préférable d'utiliser la classe de chaînes de caractères C++ plutôt que l'ancien style de chaînes de caractères C, la vie serait beaucoup plus facile.

si vous disposez d'une chaîne de style ancien, vous pouvez la transformer en une classe de chaîne de caractères

    char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
    cout<<greeting + "and there \n"; //will not compile because concat does \n not work on old C style string
    string trueString = string (greeting);
    cout << trueString + "and there \n"; // compiles fine
    cout << trueString + 'c'; // this will be fine too. if one of the operand if C++ string, this will work too

-2voto

Kartik Points 9
//String appending
#include <iostream>
using namespace std;

void stringconcat(char *str1, char *str2){
    while (*str1 != '\0'){
        str1++;
    }

    while(*str2 != '\0'){
        *str1 = *str2;
        str1++;
        str2++;
    }
}

int main() {
    char str1[100];
    cin.getline(str1, 100);  
    char str2[100];
    cin.getline(str2, 100);

    stringconcat(str1, str2);

    cout<<str1;
    getchar();
    return 0;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X