Как присвоить значение строке в c
Перейти к содержимому

Как присвоить значение строке в c

  • автор:

Как присвоить переменной char значение слова

@avp Вообще-то, это не стандартная функция. Это POSIX функция. Ей можно пользоваться, но чтобы код компилировался, нужно либо задать макрообъявление, либо опцию компилятора.

12 дек 2016 в 21:47

Ну, Вы даете. И с каких это пор POSIX не стандарт? Вообще, если в gnu есть, то можно пользоваться. А если где-то ее (или какой другой) и не будет, значит самому надо там реализовать.

12 дек 2016 в 22:05
@avp POSIX — не указ C стандарту.:)
12 дек 2016 в 22:13

POSIX — не указ C стандарту.:) О Господи. А вот это : «POSIX (англ. portable operating system interface — переносимый интерфейс операционных систем) — набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой (системный API), библиотеку языка C и набор приложений и их интерфейсов. » — ничего не значит? Стандарт, в котором оговариваются БИБЛИОТЕКИ С не указ для БИБЛИОТЕК С ?!

13 дек 2016 в 2:43

  • c
  • массивы
  • указатели
  • строковый-литерал

Присвоение переменной значение строки

Для конвертаций (преобразований) в .NET используются такие методы:

  • int → string : TryFormat , Format , ToString
  • string → int : TryParse , Parse

Таким образом остаётся такой набор методов: Format , ToString , Parse (прочие методы рассматриваться не будут). Разберёмся с каждым по порядку.

  • Format : записывает int → Span в виде строки. Span – это универсальный буфер: в нём можно хранить строку, массив и даже неуправляемый буфер. Span – это всего лишь ссылка на элемент исходного буфера + длина, т. е.
var span = str.AsSpan(); 

не создаёт новый буфер. Поэтому но так важен. Ссылка #1, cсылка #2, если вы хотите подробнее узнать о Span .

  • ToString просто преобразует int → string (возможно, вам когда-то давали задание: «Преобразуйте беззнаковое целочисленное число в строку»).
  • Parse делает обратное, т. е. string / ReadOnlySpan → int . Это то, что вам нужно.

Также методы Format и ToString имеют 2 аргумента: format и formatProvider . format – это, как не сложно догадаться, формат числа, т. е. нужно ли ставить пробелы м-ду каждыми 3-я цифрами, нужно ли указывать валюту, или это процент, и т. д. formatProvider – это поставщик форматера. Это сложно, поэтому просто знайте, что в него можно запихнуть нужную культуру. Например:

var num = 5; var ruRU = new CultureInfo("ru-RU"); // русская культура var enUS = new CultureInfo("en-US"); // американская культура Console.WriteLine(num.ToString("C", ruRU)); // 5,00 ₽ Console.WriteLine(num.ToString("C", enUS)); // $5.00 

Метод Parse также принимает 2 аргумента: style и formatProvider . Про 2-й вы уже знаете – повторяться не буду. Аргумент style указывает допущения для числа, т. е. может ли оно иметь те же пробелы, может ли оно быть 16-ричным, может ли иметь минус и т. д. Т. е. полная противоположность format .

Как присвоить строке новое значение в C++?

В строке string[]=»zaqzaqzaq»; ошибка, красным выделены квадратные скобки, курсор между ними и ошибка: [Error] expected primary-expression before ‘]’ token Как правильно присвоить строке символов новое значение?

Отслеживать
задан 10 фев 2018 в 14:09
257 1 1 золотой знак 3 3 серебряных знака 15 15 бронзовых знаков
int main() , а не просто main() .
10 фев 2018 в 15:20

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Если вы пишете на C++, то зачем вам char? Используйте готовый объект типа string:

#include using namespace std; main()

Отслеживать
ответ дан 10 фев 2018 в 14:19
Mark Tiukov Mark Tiukov
140 1 1 золотой знак 1 1 серебряный знак 13 13 бронзовых знаков
Очень неудачное имя для переменной вы выбрали.
10 фев 2018 в 14:37
C++ НЕ поддерживает int по-умолчанию
– user227465
10 фев 2018 в 15:00
@GreenDragon: Как впрочем и С его уже давно не поддерживает.
10 фев 2018 в 15:18
@zed , да, пожалуй для начинающих это не очень удачное название переменной. Спасибо за указание! 😉
10 фев 2018 в 16:03

насколько я понел речь шла о инициализации массива, а не как получать строку

char string[] = "qazqazqaz"; char s[] = "zaqzaqzaq"; strcpy(string, s); cout  

Отслеживать
ответ дан 10 фев 2018 в 14:39
AR Hovsepyan AR Hovsepyan
15.9k 3 3 золотых знака 14 14 серебряных знаков 30 30 бронзовых знаков
А если новая строка будет длиннее?
10 фев 2018 в 14:47
@zed это уже другой вопрос
10 фев 2018 в 14:55

Поскольку вы рассмотрели лишь крайний случай, когда обе строки имеют одинаковый размер, ваш ответ по сути бесполезен. Вопрос же в том, как динамически присваивать строке другое значение, которое может и не совпадать по длине.

10 фев 2018 в 15:02

@ zed, я читать умею, но не нашел в вопросе даже намека на ваше утверждение. Просто простой ответ на простой вопрос - не вижу надобности обсуждать дальше. Даже неинтересно. То что у вас есть знания по С строкам, я уже понел

10 фев 2018 в 15:10

Самая последняя строка в вопросе: Как правильно присвоить строке символов новое значение? И раз там не сказано, что надо присвоить строку того же самого размера, то стоит воспринимать вопрос в общем.

Присвоить значение строке

Author24 — интернет-сервис помощи студентам

Присвоить значение colorDialog строке
Добрый день. Может поможете новичку, честно - тока тока знакомлюсь c C#. Изобретаю редактор CSS.

Присвоить значение строке многомерного массива
Есть двумерный массив типа double. Написана функция, разбирающая строку (string) на отдельные.

Присвоить строке значение другой строки
Добрый день. У меня есть строки FILE_OVL_1 DB 'ABCD',0 FILE_OVL_2 DB .

Datagridview, присвоить одной строке значение другой
как можно присвоить одной строке значение другой? dataGridView1.Rows = dataGridView1.Rows;.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *