Aucune annonce.

Strcat Function In C++

  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Strcat Function In C++

    I'm new to C and C++ programming, can anyone give me a hint on what I'm doing wrong here. I'm trying to write to concat function that takes to pointers to chars and concatenates the second to the first. The code does do that, but the problem is that it adds a bunch of junk at the end. For instance, when passing the arguments - "green" and "blue", the output will be "greenblue" plus a bunch of random characters. I also wrote the strlen function that strcat uses, which I will provide below it for reference. I'm using the online compiler at InterviewBit The exact instructions and specification is this:

    int main(int argc, char** argv)


    const int MAX = 100;

    char s1[MAX];

    char s2[MAX];

    cout << "Enter your first string up to 99 characters. ";

    cin.getline(s1, sizeof(s1));

    int size_s1 = strlen(s1);

    cout << "Length of first string is " << size_s1 << "\n";

    cout << "Enter your second string up to 99 characters. ";

    cin.getline(s2, sizeof(s2));

    int size_s2 = strlen(s2);

    cout << "Length of second string is " << size_s2 << "\n";

    cout << " Now the first string will be concatenated with the second

    string ";

    char* a = strcat(s1,s2);

    for(int i = 0; i<MAX; i++)

    cout <<a[i];

    // system("pause");

    return 0;


    //strcat function to contatenate two strings

    char* strcat(char *__s1, const char *__s2)


    int indexOfs1 = strlen(__s1);

    int s2L = strlen(__s2);

    cout <<s2L << "\n";

    int indexOfs2 = 0;


    __s1[indexOfs1] = __s2[indexOfs2];



    }while(indexOfs2 < s2L);

    return __s1;


    //Returns length of char array

    size_t strlen(const char *__s)


    int count = 0;

    int i;

    for (i = 0; __s[i] != '\0'; i++)


    return (count) / sizeof(__s[0]);


  • #2
    Je ne peux pas t'aider mais peut-être qu'un autre membre le pourra.
    StreamSB - Upload videos and make money. Minimum Payout: $20 -


    • #3
      C'est francophone ici, non ? Personnellement, cela ne me viendrait pas à l'idée de poster en français sur un forum anglo-phone.

      Sur le fond, c'est tellement évident que .
      Dernière modification par Icarus, 01 octobre 2021, 20h05.