Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

strcpy() (от слова copy – копирование)




strcpy() (от слова copy – копирование)

Реализуем копирование одной строки и её вставку на место другой строки.

 

#include < iostream> using namespace std;   int main() {  setlocale(LC_ALL, " rus" );    char someText1[64] = " Сaйт purecodecpp. com! ";  char someText2[] = " Основы С++";    cout < < " Строка someText1 - \" " < < someText1 < < " \" \n";  cout < < " Строка someText2 - \" " < < someText2 < < " \" \n\n";    int count = 0;  while (true) // запускаем бесконечный цикл  {  someText1[count] = someText2[count]; // копируем посимвольно    if (someText2[count] == '\0') // если нашли \0 у второй строки  {  break; // прерываем цикл  }    count++;  }    cout < < " Строка someText1 после копирования someText2 -\n\" " < < someText1 < < " \" \n\n";    return 0; }

Применим стандартную функцию библиотеки cstring:

 

#include < iostream> #include < cstring> using namespace std;   int main() {  setlocale(LC_ALL, " rus" );    char someText1[64] = " Сaйт purecodecpp. com! ";  char someText2[] = " Основы С++";    cout < < " Строка someText1 - \" " < < someText1 < < " \" \n";  cout < < " Строка someText2 - \" " < < someText2 < < " \" \n\n";    strcpy(someText1, someText2); // передаём someText1 и someText2 в функцию    cout < < " Строка someText1 после копирования someText2 -\n\" " < < someText1 < < " \" \n\n";    return 0; }

Пробуйте компилировать и первую, и вторую программу. Увидите такой результат:

strcmp() (от слова compare – сравнение)

Эта функция устроена так: она сравнивает две Си-строки символ за символом. Если строки идентичны (и по символам и по их количеству) – функция возвращает в программу число 0. Если первая строка длиннее второй – возвращает в программу число 1, а если меньше, то -1. Число -1 возвращается и тогда, когда длина строк равна, но символы строк не совпадают.

 

#include < iostream> using namespace std;   int main() {  setlocale(LC_ALL, " rus" );    char someText1[] = " Сaйт purecodecpp. com! ";  char someText2[] = " Сaйт purecodecpp. com/";    cout < < " Строка someText1 - \" " < < someText1 < < " \" \n";  cout < < " Строка someText2 - \" " < < someText2 < < " \" \n\n";    int compare = 0; // для сравнения длины строк    int count = 0;  while (true)  {  if (strlen(someText1) < strlen(someText2))  {  cout < < " Строки НЕ равны: " < < --compare < < endl;  break;  }  else if (strlen(someText1) > strlen(someText2))  {  cout < < " Строки НЕ равны: " < < ++compare < < endl;  break;  }  else // если по количеству символов строки равны  {  if (someText1[count] == someText2[count]) // сравниваем посимвольно включая \0  {  count++;  if (someText1[count] == '\0' & & someText2[count] == '\0')  {  cout < < " Строки равны: " < < compare < < endl;  break;  }  }  else // если все же где-то встретится отличный символ  {  cout < < " Строки НЕ равны: " < < --compare < < endl;  break;  }  }  }  return 0; }

Программа с strcmp():

 

#include < iostream> #include < cstring> using namespace std;   int main() {  setlocale(LC_ALL, " rus" );    char someText1[] = " Сaйт purecodecpp. com! ";  char someText2[] = " Сaйт purecodecpp. com/";    cout < < " Строка someText1 - \" " < < someText1 < < " \" \n";  cout < < " Строка someText2 - \" " < < someText2 < < " \" \n\n";    cout < < strcmp(someText1, someText2) < < endl < < endl;    return 0; }

Делитесь в социальных сетях нашими статьями со своими знакомыми, которые так же изучают основы программирования на языке С++.

 

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...