Re: Как с помощью winapi перевести из строки в целое?
От: Игорь Вартанов https://mvp.support.microsoft.com/profile=3317CC31-AB7A-4D36-864E-47DEFF433151
Дата: 25.03.02 16:58
Оценка: 47 (5) :)
Здравствуйте kirina, Вы писали:

K>Как с помощью winapi перевести из строки в целое,

K>подскажите плиз...

Вообще-то это задача рантайма.

int i = atoi(str);

Но если хочется сугубо API, то хотя бы так:

#include <windows.h>
#include <ostream.h>

int StrToInt(LPCTSTR str)
{
    int res = 0;
    HINSTANCE hLib = LoadLibrary("msvcrt.dll");
    if(hLib)
    {
        int (*atoi)(LPCTSTR);
        *(FARPROC*)&atoi = GetProcAddress(hLib, "atoi");
        res = atoi(str);
        FreeLibrary(hLib);
    }
    return res;
}

void main()
{
    cout << StrToInt("12345") << endl;
}


или так (ну совсем криво...)

#include <windows.h>
#include <ostream.h>

int StrToInt(LPCSTR str)
{
    WritePrivateProfileString("temp", "num", str, "temp000.tmp");
    int i = GetPrivateProfileInt("temp", "num", 0, "temp000.tmp");
    WritePrivateProfileString("temp", NULL, NULL, "temp000.tmp");
    return i;
}

void main()
{
    cout << StrToInt("12345") << endl;
}


При наличии эдита можно воспользоваться SetDlgItemText + GetDlgItemInt.
---
С уважением,
Игорь
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.