g++
От: Fiend  
Дата: 14.10.02 14:00
Оценка:
Мне нужна функция strnicmp, она вроде как объявлена в <linux/string.h>, но блин, что за трабл, г++ ругается, не видит этого прототипа и пишет потом еще андефайнд референсе.
Re: g++
От: White Eagle Россия  
Дата: 14.10.02 14:27
Оценка:
Здравствуйте Fiend, Вы писали:

F>Мне нужна функция strnicmp, она вроде как объявлена в <linux/string.h>, но блин, что за трабл, г++ ругается, не видит этого прототипа и пишет потом еще андефайнд референсе.


А нету в линухе такой. И в glibc её нету.
Зато есть strncasecmp, которая делает то же самое с теми же параметрами.
Можно даже просто в лоб #define написать.
Никогда не делайте ничего правильно с первого раза, иначе никто потом не оценит, как это было сложно.
Re[2]: g++
От: Fiend  
Дата: 16.10.02 10:14
Оценка:
WE>А нету в линухе такой. И в glibc её нету.
WE>Зато есть strncasecmp, которая делает то же самое с теми же параметрами.
WE>Можно даже просто в лоб #define написать.

А чем мне заменить _ultoa?
Re[3]: g++
От: White Eagle Россия  
Дата: 17.10.02 08:59
Оценка:
Здравствуйте Fiend, Вы писали:

WE>>А нету в линухе такой. И в glibc её нету.

WE>>Зато есть strncasecmp, которая делает то же самое с теми же параметрами.
WE>>Можно даже просто в лоб #define написать.

F>А чем мне заменить _ultoa?

Заменить не знаю.
Можно реализовать

В wine сделано так:


LPSTR  __cdecl _ultoa( unsigned long x, LPSTR buf, INT radix )
{
    char buffer[32], *p;

    p = buffer + sizeof(buffer);
    *--p = 0;
    do
    {
        int rem = x % radix;
        *--p = (rem <= 9) ? rem + '0' : rem + 'a' - 10;
        x /= radix;
    } while (x);
    strcpy( buf, p );
    return buf;


Ну, понятно, LPSTR — это char*, __cdecl убрать, INT это int и должно работать
Никогда не делайте ничего правильно с первого раза, иначе никто потом не оценит, как это было сложно.
Re[4]: g++
От: Fiend  
Дата: 17.10.02 09:55
Оценка:
WE>Можно реализовать
Да я потому тему и закрыл, что стыдно стало. Такую примиту слабал за минуту. Почему сразу не склепал?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.