как преобразовать струну до в струну ре?

Это настолько просто, я смущен для выяснения, но как Вы преобразовываете струну до в струну ре в D2?

У меня есть два варианта использования.

string convert( const(char)* c_str );
string convert( const(char)* c_str, size_t length );
11
задан kennytm 24 March 2010 в 14:05
поделиться

1 ответ

  1. Используйте std.string.toString (char *) (D1 / Phobos) или std.conv.to! (Строка) (D2):

     // D1 
    import std.string; 
     ... 
    строка s = toString (c_str); 
     
     // D2 
    импорт std.conv; 
    . .. 
    строка s = to! (Строка) (c_str); 
     
  2. Разрезать указатель:

     строка s = c_str [0..len]; 
     

    (вы не можете использовать «длину», потому что она имеет особое значение в синтаксисе среза).

Оба возвращают фрагмент строки C (таким образом, ссылку, а не копию). Используйте свойство .dup для создания копии.

Обратите внимание, что строки D считаются имеющими кодировку UTF-8. Если ваша строка находится в другой кодировке, вам необходимо преобразовать ее (например, используя функции из std.windows.charset).

16
ответ дан 3 December 2019 в 07:37
поделиться
Другие вопросы по тегам:

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