Как преобразовать string в char?
Есть произвольная строка не больше 25 символов. Например «wo1fram»
Как преобразовать ее в массив char[255]?
Чтобы потом с char можно было работать как с полноценным массивом символов, оканчивающимся нуль-символом.
Отслеживать
задан 21 дек 2018 в 13:12
Сава Знатнов Сава Знатнов
43 1 1 золотой знак 1 1 серебряный знак 5 5 бронзовых знаков
Для этого есть функция-член data()
21 дек 2018 в 13:15
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Тут, видите ли, есть два решения.
Одно — если вам надо только читать эту строку, или там, поменять в ней пару символов — но не менять ее размер (так что всякие strcpy отменяются) — то можно воспользоваться функциями c_str() и data() . Очень рекомендую внимательно почитать описания, а главное — ограничения, накладываемые этими функциями.
И другое — если нужно работать с ней как со строкой в стиле С со всеми возможностями — то просто скопируйте ее в массив, типа
char buf[255]; strcpy(buf,s.c_str());
char * buf = strdup(s);
Отслеживать
ответ дан 21 дек 2018 в 13:36
219k 15 15 золотых знаков 119 119 серебряных знаков 230 230 бронзовых знаков
- c++
- строки
- char
- преобразование
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как преобразовать строку в массив js?
Помимо вышеупомянутых способов преобразования строки в массив, есть ещё один метод, которым можно воспользоваться.
Это Array.from():
Данный метод работает очень просто. Вся его работа описана в примере ниже:
const stringOfNumbers = '1234'; const numbers = Array.from(stringOfNumbers); console.log(numbers); // => ['1', '2', '3', '4'] - элементы массива - строки
У данного метода есть особенность, которая может показаться недостатком.
Если в строке между словами, буквами или цифрами будут знаки препинания либо пробелы, они также станут элементами массива.
const stringOfNumbers = '1 2.3,4'; const numbers = Array.from(stringOfNumbers); console.log(numbers); // => ['1', ' ', '2', '.', '3', ',', '4']
27 октября 2021
Для того, чтобы преобразовать строку в массив, нужно сначала определить, по какому критерию строка будет разбиваться на элементы. Например, строку можно разбить на подстроки, между которыми встречается разделитель:
const str = 'мама мыла раму'; // исходная строка const result = str.split(' '); // используем метод split с указанием разделителя // ['мама', 'мыла', 'раму']
В примере выше использовался метод split для разделения строк на элементы по определенному разделителю. Если указать в качестве разделителя пустую строку, то на выходе получим массив из символов:
// вызываем метод на строке и выводим результат console.log('test'.split('')); // => ['t', 'e', 's', 't']
Также строки имеют некоторые свойства массивов: их можно перебирать в циклах а также можно обращаться к символам через индексы:
// перебираем строку в цикле for (const symbol of 'test') console.log(symbol); > // обращение по индексу console.log('test'[1]); // => 'e'
Есть также быстрый способ разбить строку на символы с использованием рест-оператора:
const result = [. 'hello']; // ['h', 'e', 'l', 'l', 'o']; result.forEach((item) => console.log(item));
Статья c# Как преобразовать строку в массив?
В этой статье хочу показать несколько простых способов, с помощью которых можно преобразовать строку в массив.
Так как любая строка в языке c# представляет собой набор символов, то для того, чтобы из строки получить массив нужно всего лишь воспользоваться обычным циклом for, например:
string str = @"массив"char [] ar = new char [str.Length]; for(int i = 0; i
Второй способ позволяет преобразовать строку в массив буквально в одну строчку кода. Для этого всего лишь нужно воспользуемся уже готовым методом ToCharArray, например:
string str = @"мама мыла раму"; char [] ar = str.ToCharArray();
Третий способ, очень похож на предыдущий, единственное его отличие в том, что преобразование строки выполняется с помощью метода расширения ToArray, в результате так же получаем массив.
string str = @"язык c#"; char [] ar = str.ToArray();
- Как создать dll библиотеку?
- Создание контекстного меню в программе Visual Studio
- Как установить MySQL for Visual Studio?
Практическое руководство. Преобразование строки (String) в массив символов в Visual Basic
Иногда полезно иметь данные о символах в строке и позиции этих символов в строке, например при анализе строки. В этом примере показано, как получить массив символов в строке, вызвав метод строки ToCharArray .
Пример 1
В этом примере показано, как разделить строку Char на массив и как разделить строку на String массив текстовых символов Юникода. Это различие объясняется тем, что текстовые символы Юникода могут состоять из двух или более Char символов (например, суррогатной пары или объединяющей последовательности символов). Дополнительные сведения см. в разделах TextElementEnumerator и Стандарт Юникода.
Dim testString1 As String = "ABC" ' Create an array containing "A", "B", and "C". Dim charArray() As Char = testString1.ToCharArray
Пример 2
Разделить строку на текстовые символы Юникода сложнее, но это необходимо, если вам нужны сведения о визуальном представлении строки. В этом примере метод используется SubstringByTextElements для получения сведений о текстовых символах Юникода, составляющих строку.
' This string is made up of a surrogate pair (high surrogate ' U+D800 and low surrogate U+DC00) and a combining character ' sequence (the letter "a" with the combining grave accent). Dim testString2 As String = ChrW(&HD800) & ChrW(&HDC00) & "a" & ChrW(&H300) ' Create and initialize a StringInfo object for the string. Dim si As New System.Globalization.StringInfo(testString2) ' Create and populate the array. Dim unicodeTestArray(si.LengthInTextElements - 1) As String For i As Integer = 0 To si.LengthInTextElements - 1 unicodeTestArray(i) = si.SubstringByTextElements(i, 1) Next
См. также раздел
- Chars[]
- System.Globalization.StringInfo
- Практическое руководство. Доступ к символам в строках
- Преобразование между строками и другими типами данных в Visual Basic
- Строки
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.