реклама на сайте
подробности

 
 
> проблемы с atol
Integral
сообщение Aug 10 2008, 11:47
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 149
Регистрация: 9-08-08
Пользователь №: 39 519



Подскажыте пожалуйста почему не исполняется условые "atol(st)==nn" в следующем коде:

Код
    char *st;        
    long int nn=123;
    ltoa(nn, st);
    if(atol(st)==nn)
     {
      PORTD.1=1;
     }


притом что следующий код исполняется нормально:

Код
    char *st;        
    long int nn=123;
    itoa(nn, st);
    if(atoi(st)==nn)
     {
      PORTD.1=1;
     }


Мне нужен atol так как работаю с большыми числами...

Компилятор CodeVisionAVR

Сообщение отредактировал Integral - Aug 10 2008, 11:48
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
WHALE
сообщение Aug 10 2008, 12:30
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



Вы сами поняли поняли,что написали?
1.ltoa/ itoa ничего не возвращает,соответсвенно что вы сравниваете?
2.Что вы пытаетсь сделать этим сравнением-проверить работу библиотечной функции?Дык даже если она врет(а она работает,не сомневайтесь)-вы так об этом не узнаете.А чтобы проверить-выведите строку куда-нить или гляньте отладчиком,если есть.


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
Integral
сообщение Aug 10 2008, 12:38
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 149
Регистрация: 9-08-08
Пользователь №: 39 519



Цитата
1.ltoa/ itoa ничего не возвращает,соответсвенно что вы сравниваете?


я сравнываю не ltoa/ itoa а atol/atoi а оны возвращают значеные long int/int которые спрятаны в строке.

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

Вот косочек реального кода:
Код
long int len(long int ln)
{
char *st;
ltoa(ln, st);                        
return strlen(st);
}


должно возвратыть длину числа в переменной ln, а возвращает чето все время 1....

Еслы вместо ltoa поставить іtoa то все работает, а с ltoa нет. Поетому я и спросить решыл вчем дело?

Сообщение отредактировал Integral - Aug 10 2008, 12:56
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Integral   проблемы с atol   Aug 10 2008, 11:47
- - zltigo   А чего это вдруг itoa/ltoa стали без радикса? Вызы...   Aug 10 2008, 12:17
- - Integral   в хелпе прототип выглядит следующим образом: Цита...   Aug 10 2008, 12:26
|- - zltigo   Цитата(Integral @ Aug 10 2008, 14:26) в х...   Aug 10 2008, 13:57
- - YAM   Ну, во первых для того, чтобы функция сделала из l...   Aug 10 2008, 13:59
- - Integral   ЦитатаНу, во первых для того, чтобы функция сделал...   Aug 10 2008, 15:42
|- - aaarrr   Цитата(Integral @ Aug 10 2008, 19:42) ско...   Aug 10 2008, 15:47
|- - zltigo   Цитата(Integral @ Aug 10 2008, 17:42) ско...   Aug 10 2008, 18:13
|- - WHALE   Цитата(zltigo @ Aug 10 2008, 22:13) напри...   Aug 10 2008, 19:17
- - Integral   я заметил много недостатков CodeVisionAVR в отличи...   Aug 10 2008, 16:03
- - alex1979   были проблемы с atoi. (использую winAvr). Функция ...   Aug 10 2008, 18:22
|- - demiurg_spb   Цитата(alex1979 @ Aug 10 2008, 22:22) был...   Aug 11 2008, 07:56
- - Integral   ЦитатаЭто говорит только об одном, что программиро...   Aug 10 2008, 18:48
|- - zltigo   Цитата(Integral @ Aug 10 2008, 20:48) Мож...   Aug 10 2008, 19:12
- - Integral   Цитата(zltigo @ Aug 10 2008, 22:12) Полаг...   Aug 10 2008, 20:20
- - sergeeff   Ну не нравится библиотечная функция, так найди ее ...   Aug 11 2008, 08:08
- - Integral   Всем очень благодарен за ответы. Все отлично работ...   Aug 12 2008, 17:06


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 08:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01374 секунд с 7
ELECTRONIX ©2004-2016