Цитата
Похоже, что не прилинкована какя-то библиотека.
Тут я просто несколько не шарю. Есть файлик stdlib.h. Скачал, положил куда надо и указываю в начале программы через #include. Но вот где должен находится файлик stdlib.с и где его вообще найти я, честно скажу, нивкурил. В интернетах ничего не нашел по этому поводу, предположил что это всё где-то во внутренностях компилятора... Если объясните как тут всё это работает с этими библиотеками, буду признателен.
Цитата
А взять исходник функции itoa() и прямо подцепить к проекту религия не позволяет?
Когда посмотрел как делает народ, все-таки решил написать такую функцию самостоятельно. Поначалу думал что проще будет со стандартной библиотекой.
Цитата
Один из вечных вопросов. Может, данная дискуссия поможет
Да, помогла) Понял, что мой вопрос был не таким уж и тупым, и многие с этим вопросом сношаются. Код господина aaarrr заинтересовал, но я там ниче не понял) Буду еще разбираться конкретно с ним.
Сама функция перевода в string мне понадобилась
кратковременно, чтобы в гипертерминал выводить содержимое флеш-памяти (как раз учусь щас с ней работать), а функция вывода требует исключительно тип char[]. Поэтому к максимальной производительности не стремился, написал функцию на скорую руку. Работает. Беременным детям и женщинам не смотреть!
Код
val = 0xFE; //это надо перевести в buf, который представляет из себя char[2]...
length = 2; // 1 байт в слове
do {
c = val % 0x10 + '0';
val /= 0x10;
buf[len] = c;
//6 последующих строк меня ПРАВДА вынудил писать компилятор!) Ибо программа никак не хотела нормально работать при:
//if (buf[len] < 0x3A) {
// buf[len] = c;
//} else {
// buf[len] = c+0x7;
//}
// К тому же переменная [b]с[/b] в данном месте почему-то всегда определялась как 0х0. Хотя при выводе buf после цикла все было норм...
if (buf[len] == ':') buf[len] = 'A';
if (buf[len] == ';') buf[len] = 'B';
if (buf[len] == '<') buf[len] = 'C';
if (buf[len] == '=') buf[len] = 'D';
if (buf[len] == '>') buf[len] = 'E';
if (buf[len] == '?') buf[len] = 'F';
len++;
} while (len < length);
Короче говоря пока учусь работать с flash, мне этого достаточно. Когда придет время писать программу уже непосредственно для вывода чего-то, то буду разбираться уже серьезно.