Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
2 / 2 / 0
Регистрация: 05.12.2015
Сообщений: 193

Как в Си перевести string в integer

21.06.2023, 23:07. Показов 3750. Ответов 53
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Допустим в строковом массиве содержится следующее:

"12.03.2000" или "24.12.2009"

Необходимо извлечь значение месяца, т.е. 03=>3 или 12 в приведенных примерах.
Затем требуется уменьшить значение на единицу (в примерах):
3-1=2
12-1=11

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

- - -

Напрашивается - извлечь значение месяца, сохранить его в новый временный строковый массив, затем применить к нему strtol().. Все верно?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.06.2023, 23:07
Ответы с готовыми решениями:

Как integer перевести в string
Как integer перевести в string??

Перевести из string в integer
... ... c:=copy(str2,n,k); If (pos('Wystawiam faktury VAT',str2))>0 then begin d:=0.77 end else begin d:=1;

Перевести строку string в тип integer
Чем можно в qt заменить команду которая находится в 3 строке?Эта команда позволяет переводить строку string в тип integer. QString s...

53
2 / 2 / 0
Регистрация: 05.12.2015
Сообщений: 193
11.07.2023, 00:32  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от easybudda Посмотреть сообщение
Приличный компилятор, как минимум, предупреждение выдаёт.
Мой Dev C++ говорит что все замечательно ;-)

Compilation results...
--------
- Errors: 0
- Warnings: 0
0
 Аватар для analogov net
2532 / 1130 / 495
Регистрация: 17.11.2018
Сообщений: 2,840
11.07.2023, 00:34
atztek, 6 строку можешь смело покоцать, а компилятор в топку...
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12844 / 7593 / 1766
Регистрация: 25.07.2009
Сообщений: 13,981
11.07.2023, 00:59
Цитата Сообщение от atztek Посмотреть сообщение
Dev C++
Это IDE. Компилятором там тот же gcc, если не ошибаюсь. Установите ему параметром компиляции -Wall - узнаете много нового... А начинающим желательно ещё и -Werror устанавливать. Тогда не будет компилироваться, пока всё, что по первому флагу выдалось, не исправите.
1
2 / 2 / 0
Регистрация: 05.12.2015
Сообщений: 193
11.07.2023, 23:51  [ТС]
Цитата Сообщение от easybudda Посмотреть сообщение
Это IDE. Компилятором там тот же gcc, если не ошибаюсь.
Почти написал основную часть своей программки, но она по каким-то причинам прерывается в разных местах, совершенно непредсказуемо и непоследовательно. Т.е. нет повторяемости когда бы она завершалась в одном и том же месте, хотя всегда бежит с одними и теми же параметрами. Пробовал запустить с дебаггером - выскакивает ошибка (и все зависает):

"thread 1 received signal sigtrap trace/breakpoint trap"

В Dev_C++ указано "TDM GCC 9.2.0 64-bit release".

Очевидно что есть ошибки в коде, но не знаю как их лучше дебаггировать.
Можно установить последнюю версию GCC 10.3.0.
Что еще можно предпринять?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12844 / 7593 / 1766
Регистрация: 25.07.2009
Сообщений: 13,981
11.07.2023, 23:58
Если
Цитата Сообщение от atztek Посмотреть сообщение
Очевидно что есть ошибки в коде,
то
Цитата Сообщение от atztek Посмотреть сообщение
установить последнюю версию GCC 10.3.0.
точно не поможет. Ну или ждать, когда выйдет версия с искусственным интеллектом... Попробуйте сделать вывод значений переменных в ключевых точках... Создайте новую тему с описанием проблемы и кодом...
1
2 / 2 / 0
Регистрация: 05.12.2015
Сообщений: 193
12.07.2023, 00:02  [ТС]
Цитата Сообщение от easybudda Посмотреть сообщение
Попробуйте сделать вывод значений переменных в ключевых точках.
Значения вывожу через принты, все выглядит правильно.
Может есть какой-нибудь другой компилятор, не слишком громоздкий, в котором можно дебаггировать?

ПС Какова максимальная длина имен переменных в Си?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12844 / 7593 / 1766
Регистрация: 25.07.2009
Сообщений: 13,981
12.07.2023, 00:21
Цитата Сообщение от atztek Посмотреть сообщение
Может есть какой-нибудь другой компилятор, не слишком громоздкий, в котором можно дебаггировать?
Компилятор и дебагер - это разные программы. И скорее всего Вы просто что-то делаете не так и замена инструментария Вам никак не поможет.
0
2 / 2 / 0
Регистрация: 05.12.2015
Сообщений: 193
12.07.2023, 00:37  [ТС]
Цитата Сообщение от easybudda Посмотреть сообщение
И скорее всего Вы просто что-то делаете не так и замена инструментария Вам никак не поможет.
Хотелось бы чтобы компилятор был более информативным.
Добавил флаги -Wall, -Werror, получил следующее:

[Error] missing braces around initializer [-Werror=missing-braces]

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    char array_abcd[20][2][20] = {
        "aaa",   "111",
        "bbb",   "222",
        "ccc",   "333",
        "ddd",   "444",
        "eee",   "555",
        "fff",   "666",
        "ggg",   "45546",
        "hhh",   "67677",
        "iii",   "17555",
        "jjj",   "17676",
        "kkk",   "17776",
        "lll",   "2",
        "mmm",   "4",
        "nnn",   "825",
        "ooo",   "388383"
    };

Массив не полностью заполнен, может ли подобное считаться ошибкой?
Цикла для массива пока нет, в коде используются только: array_abcd[0][0] и array_abcd[0][1].
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12844 / 7593 / 1766
Регистрация: 25.07.2009
Сообщений: 13,981
12.07.2023, 00:54
Цитата Сообщение от atztek Посмотреть сообщение
ПС Какова максимальная длина имен переменных в Си?
Здесь сказано, что 2047

Добавлено через 4 минуты
Цитата Сообщение от atztek Посмотреть сообщение
[Error] missing braces around initializer [-Werror=missing-braces]
Куда уж информативнее...
C
1
2
3
4
5
char array_abcd[20][2][20] = {
    {"aaa",   "111"},
    {"bbb",   "222"},
    /*...*/
};
Цитата Сообщение от atztek Посмотреть сообщение
Массив не полностью заполнен, может ли подобное считаться ошибкой?
неинициализированные элементы заполняются нулями.
1
2 / 2 / 0
Регистрация: 05.12.2015
Сообщений: 193
12.07.2023, 11:10  [ТС]
Цитата Сообщение от easybudda Посмотреть сообщение
Куда уж информативнее...
Я в какой-то статье (откуда взял приведенный пример) читал что эти парные скобки необязательны.
Добавил, сообщение пропало.

Потом продублировал проблемную функцию с новым именем ТЕСТ, в ней начал отключать (комментировать) куски кода до тех пор, пока оставшаяся часть не начала работать как нужно (с учетом отключенных частей). Вроде бы локализовал проблему, начал частями возвращать закомментированные блоки. Закончилось все тем что я полностью вернул функцию ТЕСТ к исходному состоянию и все работало как ожидалось. Затем отключил функцию ТЕСТ, вернув прежнюю проблемную функцию - она работает, несмотря на то что в ней с момента создания копии вообще никаких изменений не производилось. Чудеса какие-то. Может в памяти компьютера оставалось что-то что мешало нормальной работе программы, а манипуляциями с функцией ТЕСТ (в ней довольно много переменных) я это обнулил? Например не для всех malloc у меня были строки с free().
0
 Аватар для volodin661
7153 / 2341 / 353
Регистрация: 10.12.2013
Сообщений: 8,122
12.07.2023, 14:08
Цитата Сообщение от atztek Посмотреть сообщение
ПС Какова максимальная длина имен переменных в Си?
я дам два ответа:

1) 4 Гб
2) 200 байт

Ваши действия ?
1
2 / 2 / 0
Регистрация: 05.12.2015
Сообщений: 193
12.07.2023, 15:18  [ТС]
Цитата Сообщение от volodin661 Посмотреть сообщение
я дам два ответа:
1) 4 Гб
2) 200 байт
Ваши действия ?
Теперь уже никаких действий не требуется, т.к. выяснилось что проблема не была связана с длиной имен.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12844 / 7593 / 1766
Регистрация: 25.07.2009
Сообщений: 13,981
12.07.2023, 15:46
Цитата Сообщение от atztek Посмотреть сообщение
Может в памяти компьютера оставалось что-то что мешало нормальной работе программы
Не может.
И всё-таки что мешает создать тему и выложить в ней весь код, если с ним по-прежнему есть проблемы? Или всё чудесным образом разрешилось?
1
2 / 2 / 0
Регистрация: 05.12.2015
Сообщений: 193
12.07.2023, 15:55  [ТС]
Цитата Сообщение от easybudda Посмотреть сообщение
Не может.
И всё-таки что мешает создать тему и выложить в ней весь код, если с ним по-прежнему есть проблемы? Или всё чудесным образом разрешилось?
Я выше неточно выразился, хотел исправить, но после 10 минут редактировать сообщение невозможно. Какой-то сбой видимо был в самом компиляторе, надо было его перегрузить. Или по крайней мере можно было попытаться запустить код не из компилятора, а непосредственно ехе-файл. На данный момент та часть кода которую написал работает корректно, по крайней мере той проблемы больше не наблюдаю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.07.2023, 15:55

Перевести не целое число string в integer
Доброго времени суток, такая проблема, копирую с сайта числа , но они не целые (к примеру : 0.25) , мне нужно всех их сложить , но ведь для...

Как перевести числа с "String" в "integer" или "Real"?
как перевести числа с "String" в "integer" или "Real"?

Написать программу, содержащую функцию getInt(name:string; k:integer):integer
Ребята, помогите пожалуйста с задачей! Написать программу, содержащую функцию getInt(name:string; k:integer):integer; возвращающую k-ый...

Сформировать запись, имеющую следующую структуру type пассажир=record фамилия:string; имя:string; номер рейса:string; количество вещей:integer; общий
Сформировать запись, имеющую следующую структуру type пассажир=record фамилия:string; имя:string; номер рейса:string; количество...

Как string присвоить String? И как из string перевести в char[]?
Как string присвоить String? И как из string перевести в char?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
54
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru