Как узнать размер Большой строки. С++

Есть код.

#include <string>
#include <stdio.h>

#include <iostream>

int main(void) {
    std::string X;
    X=system("curl https://education.yandex.ru/handbook/cpp");
    std::cout<<X;
    std::cout<<"\n\n\n"<<"**" <<"\nSize"<<X.size();
    
}

Вывод в командной строке такой

**
Size1

Как вывести размер данной строки?


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

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

Медленно и по порядку.

Функция system, описанная, напримр, здесь, возвращает целочисленное значение типа int, при успешном выполнении равное 0.

Далее этот нуль присваивается строке X, которая с помощью оператора operator=(char) присваивает этот нулевой символ вашей строке. Вы получаете строку с одним нулевым символом. Который при выводе в cout на консоли не виден, а размер строки из одного символа, как ни удивительно, равен именно 1, что и выводит ваша программа.

Так что вы уже вывели размер вашей строки X — которая не имеет никакого отношения к тому, что выводит curl.

→ Ссылка