Как в С++ соединить две строки с помощью своей функции

Для соединения двух строк существует стандартная функция strcat() мы ее перепишем и усовершенствуем, чтобы к строке можно присоединять выбранное количество символов другой строки.

Пример программы:

 

#include <iostream>
using namespace std;
void myStr (char *s1, char *s2, int l = -1);
int main ()
{
    char s1[80] = "Hello";
    char s2[80] = "123456789";
    myStr (s1, s2);
    cout << "s1 + s2 = " << s1;
    strcpy(s1, "Hello");
    myStr (s1, s2, 3);
    cout << "\ns1 + s2 (3) = " << s1;
    return 0;
}
void myStr (char *s1, char *s2, int l)
{
    while (*s1) s1++;
    if (l == -1) l = strlen (s2);
    while (*s2 && l){
       *s1 = *s2;
       s1++;
       s2++;
       l--;
    }
    *s1 = '\0'; // завершаем строку нулевым символом
}

 

Если в функцию myStr() мы передаем третий параметр, то он присоединит нужное количество символов строки s2 к строке s1.

Если этот третий параметр не указывать, то будет присоеденина вся строка.

 

 



Оставить свой ответ:

Имя:*
E-Mail:
Вопрос:
Skolko buдет пять пдюс сeмь?
Ответ:*
QQpedia21.ru - cамые интересные вопросы