Как определить WinAPI функцию CharToOemA
В VBasic я это делал без проблем. А как делать в VC++? Директива #include <windows.h>? Дальше как - просто обращаться к этой функции? А получить ее синтаксис как-то можно?
Дорогой, а с чего ты взял, что Win32API функция, лично я о такой не слышал.
Лично у меня в справки написано следующие:
CharToOem Function
--------------------------------------------------------------------------------
The CharToOem function translates a string into the OEM-defined character set.
Syntax
BOOL CharToOem( LPCTSTR lpszSrc,
LPSTR lpszDst
);
Parameters
lpszSrc
[in] Pointer to the null-terminated string to translate.
lpszDst
[out] Pointer to the buffer for the translated string. If the CharToOem function is being used as an ANSI function, the string can be translated in place by setting the lpszDst parameter to the same address as the lpszSrc parameter. This cannot be done if CharToOem is being used as a wide-character function.
Return Value
The return value is always nonzero except when you pass the same address to lpszSrc and lpszDst in the wide-character version of the function. In this case the function returns zero and GetLastError returns ERROR_INVALID_ADDRESS.
Remarks
Windows 95/98/Me: CharToOemW is supported by the Microsoft® Layer for Unicode (MSLU). To use this, you must add certain files to your application, as outlined in Microsoft Layer for Unicode on Windows 95/98/Me Systems.
Function Information
Header Declared in Winuser.h, include Windows.h
Import library User32.lib
Minimum operating systems Windows 95, Windows NT 3.1
Unicode Implemented as Unicode and ANSI versions on Windows NT, Windows 2000, Windows XP
Лично у меня в справки написано следующие:
CharToOem Function
--------------------------------------------------------------------------------
The CharToOem function translates a string into the OEM-defined character set.
Syntax
BOOL CharToOem( LPCTSTR lpszSrc,
LPSTR lpszDst
);
Parameters
lpszSrc
[in] Pointer to the null-terminated string to translate.
lpszDst
[out] Pointer to the buffer for the translated string. If the CharToOem function is being used as an ANSI function, the string can be translated in place by setting the lpszDst parameter to the same address as the lpszSrc parameter. This cannot be done if CharToOem is being used as a wide-character function.
Return Value
The return value is always nonzero except when you pass the same address to lpszSrc and lpszDst in the wide-character version of the function. In this case the function returns zero and GetLastError returns ERROR_INVALID_ADDRESS.
Remarks
Windows 95/98/Me: CharToOemW is supported by the Microsoft® Layer for Unicode (MSLU). To use this, you must add certain files to your application, as outlined in Microsoft Layer for Unicode on Windows 95/98/Me Systems.
Function Information
Header Declared in Winuser.h, include Windows.h
Import library User32.lib
Minimum operating systems Windows 95, Windows NT 3.1
Unicode Implemented as Unicode and ANSI versions on Windows NT, Windows 2000, Windows XP
-----------------------------------------------
To unmoved: Дорогой а с чего ты взял, что это не WinApi функция ты в winuser.h заглядывал? Там четко написано: WINUSERAPI BOOL WINAPI
CharToOemA(LPCSTR lpszSrc,LPSTR lpszDst);
:!!!:
To unmoved: Дорогой а с чего ты взял, что это не WinApi функция ты в winuser.h заглядывал? Там четко написано: WINUSERAPI BOOL WINAPI
CharToOemA(LPCSTR lpszSrc,LPSTR lpszDst);
:!!!:
Да признаю, действительно WinAPI, хотя раньше я такую функцию не встречал:) Но всё равно, я ответил на вопрос создателя этой темы.
Да признаю, действительно WinAPI, хотя раньше я такую функцию не встречал:) Но всё равно, я ответил на вопрос создателя этой темы.
For ALL.
Все ф-ции, в которые передается строковый параметр, имеют в конце букву A или W, что означает: A - ANSI, W - WideChar (Unicode). Таким образом, CharToOemA - это ANSI-вариант, CharToOemW - Unicode. CharToOem - это вообще-то макрос (winuser.h):
#ifdef UNICODE
#define CharToOem CharToOemW
#else
#define CharToOem CharToOemA
#endif // !UNICODE
For ALL.
Все ф-ции, в которые передается строковый параметр, имеют в конце букву A или W, что означает: A - ANSI, W - WideChar (Unicode). Таким образом, CharToOemA - это ANSI-вариант, CharToOemW - Unicode. CharToOem - это вообще-то макрос (winuser.h):
#ifdef UNICODE
#define CharToOem CharToOemW
#else
#define CharToOem CharToOemA
#endif // !UNICODE
Такую тему, уже все выучили наизусть, Visual Studio, это наблюдается повсеместно. Я дал описание функции CharToOem, а не конкретно CharToOemA или CharToOemW.X)-