|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
Привет. дано : чистый Си без плюсов ! Задача : есть массив символов (будем называть такие массивы в данной задаче строками) . в ней после запятой число. так вот надо вырезать это число и сохранить в другую строку. Но не работает. Запускаю пошагово: 1) первая итерация во втором цикле успешно пропускается так как запятая 2) вторая итерация на строке Код: plaintext 1.
тоже отрабатывает предсказуемо. но затем я выполняю Код: plaintext 1.
я думал должен быть переход на указатель следующего символа в строке result, однако происходит непонятная вещь. такое ощущение, что перехода на следующий символ не происходит и пишется всё в первый. Что я делаю не так , где туплю ? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2020, 23:51 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
andron81, У меня твой код отработал совершенно корректно, я не вижу ошибки. В чём у тебя проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 00:18 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
andron81, Возможно ты пытаешься отлаживать Релиз версию. Переключись на Дебаг. Другое дело что у тебя в коде... ну глюк скажем так. Попробуй: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Результат: авторcut == "1234" ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 00:31 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
source = "abcd, 100, no number 234, another number,101, and one more,102" что ваша функция должна возвратить? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 01:00 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
mini.weblab, Не рассматриваем такие варики ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 06:46 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
Так затесть Код: plaintext 1.
И надо бы добавить вывод результата, иначе оптимизатор упростит этот код до Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 07:41 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
andron81 Что я делаю не так Код: plaintext 1. 2.
s1 не содержит "," => segfault s1 не null terminated => segfault Код: plaintext 1.
result короче, чем должен - повреждение памяти => segfault / уязвимость с выполнением произвольного кода. Си - это серьёзно. Нельзя вот так вот код шлёпать. Модератор: Edited ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 08:07 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
Давайте обсуждать топик а не автора. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 09:05 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
mayton, Ну а что он провоцирует? Я сейчас вот тоже зайду под виртуалом и наваяю сборник нубских ошибок. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 09:30 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
Не надо нам тут никаких виртуалов. Он - новичек. Задает вопросы новичка. Тоесть все как-бы по феньшую. Он же не претендует на большее, верно? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 09:36 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
mayton Он - новичек. Задает вопросы новичка. Ладно, ладно. Пойду приму таблетки ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 09:42 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 09:48 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
rdb_dev, читай ТЗ внимательно andron81 дано : чистый Си без плюсов ! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 09:50 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
rdb_dev, Надо с glibc регулярку, но не знаю, считает ли TC её кошерной. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 09:59 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
Можно scanf попробовать еще. Он имеет сходный функционал. И даже atoi обладает некой толерантностью к строкам. Только надо кейсы описать. Типа InOut100100hello,100100hello,100,world100hello,world0, or throw an error! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 10:07 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
crutchmaster rdb_dev, Надо с glibc регулярку, но не знаю, считает ли TC её кошерной. регулярку для ловли запятой - это как из пушки по воробьям регулярки тяжёлые ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 10:20 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
InOutscanfatoicustom FSM100100+100,world100+hello,100100hello,100,world100hello,world0, or throw an error! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 10:30 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
Да и еще проблема в том что в сях (кажется) нет механизма исключений. Тоесть если мы не нашли число? Вроде есть сигналы. Но как они применимы в данном случае - ХЗ. Ну а у автора в его сорцах протокол вообще простой. Если мы не нашли число то мы просто не заполняем result. Хотя мне такой подход не нравится. Ведь ожидалось число. И еще непонятно что делать с сверх-длинными целыми числами которые не влезают в регистр. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 10:36 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
InOutscanfatoicustom FSMFAT and ugly regular expr100100++100,world100++hello,100100+hello,100,world100+hello,world0, or throw an error!+10000000000000000000000000? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 10:41 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
"Вырезать из строки число после запятой" означает, что надо отыскать первую запятую и скопировать в результат все цифры, которые найдутся после этой запятой. Никаких чисел в регистрах и размеров регистров в этой задаче нет. Есть уточняющие вопросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 11:09 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
Это просто развитие идеи. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 11:11 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
Была в одном из номеров журнала "Техника-молодёжи" шутливая страница "Зачем просто, если можно сложно?". Технический юмор на марше. А "развитие идеи" это такая шутка программистов, которая непонятна blockman? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 11:39 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
Заметь! Регулярки я не предлагал ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 11:42 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
crutchmaster rdb_dev, Надо с glibc регулярку, но не знаю, считает ли TC её кошерной. конечно же это жесть. регулярки ещё тут не хватало. код действительно рабочий: на выходе число после запятой, но отладка работает странно. стоит режим Debug. итак ход выполнения второго цикла : итерация 1 там запятая мы её игнорим - итерация как писал ранее не интересна . итерация 2 стоп-кадр1 - всё понятно. только что отработала строка помеченная стрелочкой итерация 2 стоп-кадр2 - а вот тут уже интересно: здесь только что отработала строчка ниже после предыдущей и почему в result такие значения ? стоп-кадр1 стоп-кадр2 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 12:19 |
|
вырезает число из строки после запятой
|
|||
---|---|---|---|
#18+
Basil A. Sidorov "Вырезать из строки число после запятой" означает, что надо отыскать первую запятую и скопировать в результат все цифры, которые найдутся после этой запятой. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 12:24 |
|
|
start [/forum/topic.php?fid=57&msg=39967752&tid=2017412]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 150ms |
0 / 0 |