Стандартный Шаблонный Строковый класс: string.fill ()

.NET ASP 2.0:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -ir

.NET ASP 4.0:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir

Подсказка Команды выполнения как Администратор для предотвращения ...requested operation requires elevation ошибка

<час>

aspnet_regiis.exe больше не должна использоваться с [1 117] IIS7 для установки , ASP.NET

  1. Открывает Control Panel
  2. Programs\Turn Windows Features на или прочь
  3. Internet Information Services
  4. World Wide Web Services
  5. Функции Разработки приложений
  6. ASP.Net < == галочка здесь
6
задан Mike Trader 16 October 2009 в 06:39
поделиться

2 ответа

Класс string предоставляет метод assign для присвоения данной строке нового значения. Подписи:

1. string& assign ( const string& str );
2. string& assign ( const string& str, size_t pos, size_t n );
3. string& assign ( const char* s, size_t n );
4. string& assign ( const char* s );
5. string& assign ( size_t n, char c );
6. template <class InputIterator> 
     string& assign ( InputIterator first, InputIterator last );

Цитирующий источник: cplusplus.com (я рекомендую этот веб-сайт, потому что он дает вам очень подробную ссылку на стандартные библиотеки C ++.)

Я думаю, вы ищете что-то вроде пятая из этих функций: n задает желаемую длину вашей строки, а c символ, заполняющий эту строку. Например, если вы напишете

sTemp.assign(10, 'b');

, ваша строка будет заполнена только 10 b.

Первоначально я предлагал использовать алгоритм STL std :: fill , но таким образом длина вашей строки останется неизменной. Метод string :: resize предоставляет способ изменить строку ' s size и заполняет добавленные символы заданным значением, но устанавливаются только добавленные. Наконец, string :: assign остается лучшим подходом!

12
ответ дан 8 December 2019 в 16:05
поделиться

Попробуйте использовать:

sTemp.resize(newLength, 'a');

Ссылки:

void __CLR_OR_THIS_CALL resize(size_type _Newsize)
    {   // determine new length, padding with null elements as needed
    resize(_Newsize, _Elem());
    }

void __CLR_OR_THIS_CALL resize(size_type _Newsize, _Elem _Ch)
    {   // determine new length, padding with _Ch elements as needed
    if (_Newsize <= _Mysize)
        erase(_Newsize);
    else
        append(_Newsize - _Mysize, _Ch);
    }
3
ответ дан 8 December 2019 в 16:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: