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

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

‘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’;