|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.03.2013, 20:15 | #1 |
Форумчанин
Регистрация: 31.05.2011
Сообщений: 316
|
Преобразование типов, получить первый символ и число, пример T256S
Доброго времени суток, бьсь над одной проблемой, есть строка T256S, из неё нужно получить первый символ и отдельно с число.
Пишу на Си. Допустим Код:
main_final.c:126: warning: comparison between pointer and integer main_final.c:126: warning: comparison with string literal results in unspecified behavior Строка 126 это if(test[0] == "T"){ Как мне тогда с ним работать? |
16.03.2013, 20:54 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,289
|
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
16.03.2013, 21:46 | #3 |
Форумчанин
Регистрация: 31.05.2011
Сообщений: 316
|
Спасибо за подсказку, PHP всетаки даёт о себе знать))
А как мне из эйтой строки получить число? И не просто получить число а проверить есть ли в конце строки символ S и выдернуть в числовую переменную все что до него? Код:
|
16.03.2013, 21:56 | #4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,289
|
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
16.03.2013, 22:24 | #5 |
Форумчанин
Регистрация: 31.05.2011
Сообщений: 316
|
ну с printf и я так могу, тут нужно записать в переменную а не выводить на экран
|
16.03.2013, 22:31 | #6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,289
|
Не понял.
Что нужно записать в переменную? strchr возвращает указатель на найденный символ в строке или NULL, если не нашел. Переменная digit содержит число из строки.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
16.03.2013, 22:59 | #7 |
Форумчанин
Регистрация: 31.05.2011
Сообщений: 316
|
уже разобрался, немного ступил.
А можно както без atoi? Занимает очень много места. Вот нашел кусок кода: Код:
PS: пишу не для компа а для контроллера |
16.03.2013, 23:03 | #8 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Код:
I'm learning to live...
|
|
16.03.2013, 23:06 | #9 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,289
|
Ничего плюсового (относящегося к С++) в этой функции не вижу.
Другое дело, что библиотечный atoi преобразует до первого нечислового символа, а эта функция до нультерминанта (хотя, это можно исправить). Понятно, что для контроллера нужно как можно меньше, но никаких конструктивных советов дать не могу - не писал ничего для контроллера (и вообще редко оказывался в ситуации с ограничением ресурсов).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
16.03.2013, 23:16 | #10 |
Форумчанин
Регистрация: 31.05.2011
Сообщений: 316
|
После компиляции того кода что привел Stilet размер получился на 300байт больше чем с родной atoi
Так еще и результат оно выдаёт не тот что ожидалось, получается -29886. Скажите а есть ли способ освободить память занятую переменной? Допустим переменная test уже своё отработала и поидее она уже не нужна, знаю что в PHP такое есть, а в C не находил |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
первый и последний символ в строке | AndreyF | Общие вопросы Delphi | 10 | 03.08.2016 12:09 |
преобразование типов | mego4el | Помощь студентам | 3 | 30.11.2011 04:50 |
Преобразование типов | jungle | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 04.12.2010 19:41 |
Надо сложить первый символ со вторым в edit | CyberDemon324 | Общие вопросы Delphi | 11 | 21.10.2009 13:23 |
Первый символ в Edit-e | artemavd | Общие вопросы Delphi | 2 | 24.09.2009 21:35 |