Откуда взялись ' ═ ' (они вместо пустых элементов) и как их убрать?

#include <iostream>
using namespace std;

void PrintLine(char arr[], int len)
{
    for (int i = 0; i < len; i++)
        cout << arr[i];
    cout << endl;
}

int main()
{
    int len{ 80 };
    char* line = new char[len];
    cin.getline(line, len, '.');
    PrintLine(line, len);

    system("pause");
    return 0;
}

введите сюда описание изображения


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

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

проблема в функции PrintLine, вот правильный вариант:

void PrintLine(char arr[], int len)
{
    for (int i = 0; i < len && arr[i] != '\0'; i++)
        cout << arr[i];
    cout << endl;
}

Вы выводите все 80 символов. Почитайте про нуль терминатор

→ Ссылка