Головна‎ > ‎С‎ > ‎

Операції з рядками

'A' - один символ
"A" - два символи: А і кінець рядка '\0' 

char a[] = "Hello world";                         // '\0' автоматично додався в кінці
char* a = new char[12]{"Hello world"};   // 12 бо ще '\0' 
strlen(a)   // 11 <iostream>
char b[] = {'H', 'e', 'l', 'l', 'o'}; 

cout << a;   // Hello world
cout << b;   // Hello╠╠╠╠╠╠╠щв!]p№╜



Передати рядок в структуру

char* name = new char[]{ "Luks" };
hotel.setName(name);
char tmp[10];
cin >> tmp;
if (*tmp == *hotel.getName()) { }



Копіювати рядок
#include <string.h>

1.
strcpy(word1, word2);    // вилітає, якщо word2 довше за word1

2.
strcpy_s(word1, strlen(word2) + 1, word2);    // не вилітає

3.
char str1[128], str2[80];
gets(str1);
strncpy(str2, str1, 79);    // копіює максимум 79 символів, не вилітає




#include <string.h>

Кількість елементів
char str[4] = "123";
printf ("%d", str, strlen(str));    // 3


Порівняти 2 масиви
if (strcmp(imya, name) == 0){

}


Вирізати перше слово з масиву
char* nameFromFile = strtok(str, " ");  // str теж урізається



Масив рядків


gets_s(tempName);
tempName[strlen(tempName)] = '\0';