Замена string на char

Столкнулся с такой проблемой: можно ли как-то преобразовать следующий код с использованием string

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string str[3] = { "Anna", "Max", "Dan" };
    for (int i = 0; i < strlen(str); i++) {
        cout << str[i] << " ";
    }
}

на код с использованием char? Я знаю, что char разделяет слово на символы, поэтому не уверен, что такое возможно. Прошу Вас помочь мне разобраться!


Ответы (1 шт):

Автор решения: Mikhailo

То, что вы написали, не компилируется, и даже непонятно, что вы хотите.

Если вы хотите вывести все три имени, то это делается так:

int main()
{
    string str[3] = { "Anna", "Max", "Dan" };
    for (int i = 0; i < size(str); i++) {
        cout << str[i] << " ";
    }
}

Чтобы сделать это же без string, делайте точно так же:

int main()
{
    const char * str[3] = { "Anna", "Max", "Dan" };
    for (int i = 0; i < size(str); i++) {
        cout << str[i] << " ";
    }
}

Можно еще сделать имена изменяемыми, собрав массив строк, а не константных указателей:

int main()
{
    char str[][5] = { "Anna", "Max", "Dan" };
    for (int i = 0; i < size(str); i++) {
        cout << str[i] << " ";
    }
}
→ Ссылка