У меня есть следующая простая программа, которая создает указатель на первый символ строки:
char str[] = "Hello world";
char *p = &str[0];
Как я могу затем вернуть эту строку в переменную, используя только указатель?
Разыменование указателя просто дает первый символ строки - как и ожидалось - поэтому я предполагаю, что не существует «простого» способа добиться этого, и вместо этого потребуется написание дополнительного кода.
Текущий способ, которым я бы подошел к этому, был бы следующим:
- Итерация по указателю до достижения нулевого терминатора для поиска длины строки
- Создание новогомассив char с этой длиной
- Повторяйте, вставляя символы в этот массив снова
Есть ли библиотечная функция для достижения этого, или, если нет, более простой способ, который не включает итерациюдважды?