stdlib.h ............................................................................
형변환 함수
#include <stdlib.h>
문자열을 숫자로 변환
int atoi(char *source_buffer)
long atol(char *source_buffer)
float atof(char *source_buffer)
숫자를 문자열로 변환
char *itoa(int value, char *string, int radix)
char *ltoa(long value, char *string, int radix)
char *ftoa(float value, char *string, int radix)
실수형 숫자를 문자열로 변환
char *ecvt(double value, int count, int *dec, int *sign)
부동소수점 숫자를 문자열로 변환
char *fcvt(double value, int count, int *dec, int *sign)
char *gcvt(double value, int digits, char *buffer)
sccanf
scanf처럼 키보드 입력을 받지 않고, 문자열에서 데이터를 추출 한다.
format :
int sscanf(const char* buffer, const char* format, [...address]);
#include <stdio.h>
#include <string.h>
char str[128];
int i,j,k;
strcpy(str, "One = 1, Two = 2, Three = 3");
sscanf(str,"One = %d, Two = %d, Three = %d", &i, &j, &k);
printf("%d, %d, %d \n", i, j, k);
wcscpy ............................................................................
copy a wide-character string
#include <wchar.h>
wchar_t *wcscpy(wchar_t *ws1, const wchar_t *ws2);
MFC ............................................................................
# define | Compiled version | Example |
---|---|---|
_UNICODE |
Unicode (wide-character) |
_tcsrev maps to _wcsrev |
_MBCS |
Multibyte-character |
_tcsrev maps to _mbsrev |
None (the default: neither _UNICODE nor _MBCS defined) |
SBCS (ASCII) |
_tcsrev maps to strrev |
Generic-Text Data Type Name | _UNICODE & _MBCS Not Defined | _MBCS Defined | _UNICODE Defined |
---|---|---|---|
_TCHAR |
char |
char |
wchar_t |
_TINT |
int |
int |
wint_t |
_TSCHAR |
signed char |
signed char |
wchar_t |
_TUCHAR |
unsigned char |
unsigned char |
wchar_t |
_TXCHAR |
char |
unsigned char |
wchar_t |
_T or _TEXT |
No effect (removed by preprocessor) |
No effect (removed by preprocessor) |
L (converts following character or string to its Unicode counterpart) |
UNICODE를 정의해주느냐 아니냐에 따라 컴파일만 따로 해주면 되니까요. ANSI UNICODE TCHAR 헤더파일 string.h wchar.h tchar.h 문자 'A' L'A' _T('A') 문자열 "ABC" L"ABC" _T("ABC") 문자열카피 strcpy wcscpy _tcscpy 문자열길이 strlen wcslen _tcslen 문자열출력 printf wprintf _tprinf 파일열기 fopen wfopen _tfopn MultiByteToWideChar() : ANSI -> UNICODE WideCharToMultiByte() : UNICODE -> ANSI MBCS와 UTF-8 변환 예 : char buffer[20]; int nUnicodeSize = MultiByteToWideChar(CP_ACP, 0, lpID, strlen(lpID), Unicode,sizeof(Unicode)); .......................................................................... 출처 : http://msdn.microsoft.com/en-us/library/tsbaswba%28VS.80%29.aspx Generic-Text Routine Mappings _cgetts _cgets _cgets _cgetws _cgetts_s _cgets_s _cgets_s _cgetws_s _cputts _cputs _cputs _cputws _fgettc fgetc fgetc fgetwc _fgettchar _fgetchar _fgetchar _fgetwchar _fgetts fgets fgets fgetws _fputtc fputc fputc fputwc _fputtchar _fputchar _fputchar _fputwchar _fputts fputs fputs fputws _ftprintf fprintf fprintf fwprintf _ftprintf_s fprintf_s fprintf_s fwprintf_s _ftscanf fscanf fscanf fwscanf _ftscanf_s fscanf_s fscanf_s fwscanf_s _gettc getc getc getwc _gettch _getch _getch _getwch _gettchar getchar getchar getwchar _gettche _getche _getche _getwche _getts gets gets getws _getts_s gets_s gets_s getws_s _istalnum isalnum _ismbcalnum iswalnum _istalpha isalpha _ismbcalpha iswalpha _istascii isascii isascii iswascii _istcntrl iscntrl iscntrl iswcntrl _istdigit isdigit _ismbcdigit iswdigit _istgraph isgraph _ismbcgraph iswgraph _istlead Always returns false _ismbblead Always returns false _istleadbyte Always returns false isleadbyte Always returns false _istlegal Always returns true _ismbclegal Always returns true _istlower islower _ismbclower iswlower _istprint isprint _ismbcprint iswprint _istpunct ispunct _ismbcpunct iswpunct _istspace isspace _ismbcspace iswspace _istupper isupper _ismbcupper iswupper _istxdigit isxdigit isxdigit iswxdigit _itot _itoa _itoa _itow _itot_s _itoa_s _itoa_s _itow_s _ltot _ltoa _ltoa _ltow _ltot_s _ltoa_s _ltoa_s _ltow_s _puttc putc putc putwc _puttch _putch _putch _putwch _puttchar putchar putchar putwchar _putts puts puts _putws _sctprintf _scprintf _scprintf _scwprintf _sntprintf _snprintf _snprintf _snwprintf _sntprintf_s _snprintf_s _snprintf_s _snwprintf_s _sntscanf _snscanf _snscanf _snwscanf _sntscanf_s _snscanf_s _snscanf_s _snwscanf_s _stprintf sprintf sprintf swprintf _stprintf_s sprintf_s sprintf_s swprintf_s _stscanf sscanf sscanf swscanf _stscanf_s sscanf_s sscanf_s swscanf_s _taccess _access _access _waccess _taccess_s _access_s _access_s _waccess_s _tasctime asctime asctime _wasctime _tasctime_s asctime_s asctime_s _wasctime_s _tccmp Maps to macro or inline function _mbsncmp Maps to macro or inline function _tccpy Maps to macro or inline function _mbccpy Maps to macro or inline function _tccpy_s strcpy_s _mbccpy_s wcscpy_s _tchdir _chdir _chdir _wchdir _tclen Maps to macro or inline function _mbclen Maps to macro or inline function _tchmod _chmod _chmod _wchmod _tcprintf _cprintf _cprintf _cwprintf _tcprintf_s _cprintf_s _cprintf_s _cwprintf_s _tcreat _creat _creat _wcreat _tcscanf _cscanf _cscanf _cwscanf _tcscanf_s _cscanf_s _cscanf_s _cwscanf_s _tcscat strcat _mbscat wcscat _tcscat_s strcat_s _mbscat_s wcscat_s _tcschr strchr _mbschr wcschr _tcsclen strlen _mbslen wcslen _tcsclen_s strlen_s _mbslen_s wcslen_s _tcscmp strcmp _mbscmp wcscmp _tcscoll strcoll _mbscoll wcscoll _tcscpy strcpy _mbscpy wcscpy _tcscpy_s strcpy_s _mbscpy_s wcscpy_s _tcscspn strcspn _mbscspn wcscspn _tcsdec _strdec _mbsdec _wcsdec _tcsdup _strdup _mbsdup _wcsdup _tcserror strerror strerror _wcserror _tcserror_s strerror_s strerror_s _wcserror_s _tcsftime strftime strftime wcsftime _tcsicmp _stricmp _mbsicmp _wcsicmp _tcsicoll _stricoll _mbsicoll _wcsicoll _tcsinc _strinc _mbsinc _wcsinc _tcslen strlen strlen wcslen _tcslen_s strlen_s strlen_s wcslen_s _tcslwr _strlwr _mbslwr _wcslwr _tcslwr_s _strlwr_s _mbslwr_s _wcslwr_s _tcsnbcnt _strncnt _mbsnbcnt _wcsncnt _tcsncat strncat _mbsnbcat wcsncat _tcsncat_s strncat_s _mbsnbcat_s wcsncat_s _tcsnccat strncat _mbsncat wcsncat _tcsnccmp strncmp _mbsncmp wcsncmp _tcsnccmp_s strncmp_s _mbsncmp_s wcsncmp_s _tcsnccoll _strncoll _mbsncoll _wcsncoll _tcsncmp strncmp _mbsnbcmp wcsncmp _tcsnccnt _strncnt _mbsnccnt _wcsncnt _tcsnccpy strncpy _mbsncpy wcsncpy _tcsnccpy_s strncpy_s _mbsncpy_s wcsncpy_s _tcsncicmp _strnicmp _mbsnicmp _wcsnicmp _tcsncicoll _strnicoll _mbsnicoll _wcsnicoll _tcsncpy strncpy _mbsnbcpy wcsncpy _tcsncpy_s strncpy_s _mbsnbcpy_s wcsncpy_s _tcsncset _strnset _mbsnset _wcsnset _tcsnextc _strnextc _mbsnextc _wcsnextc _tcsnicmp _strnicmp _mbsnbicmp _wcsnicmp _tcsnicoll _strnicoll _mbsnbicoll _wcsnicoll _tcsninc _strninc _mbsninc _wcsninc _tcsnccnt _strncnt _mbsnccnt _wcsncnt _tcsnset _strnset _mbsnbset _wcsnset _tcspbrk strpbrk _mbspbrk wcspbrk _tcsspnp _strspnp _mbsspnp _wcsspnp _tcsrchr strrchr _mbsrchr wcsrchr _tcsrev _strrev _mbsrev _wcsrev _tcsset _strset _mbsset _wcsset _tcsspn strspn _mbsspn wcsspn _tcsstr strstr _mbsstr wcsstr _tcstod strtod strtod wcstod _tcstoi64 _strtoi64 _strtoi64 _wcstoi64 _tcstok strtok _mbstok wcstok _tcstok_s strtok_s _mbstok_s wcstok_s _tcstol strtol strtol wcstol _tcstoui64 _strtoui64 _strtoui64 _wcstoui64 _tcstoul strtoul strtoul wcstoul _tcsupr _strupr _mbsupr _wcsupr _tcsupr_s _strupr_s _mbsupr_s _wcsupr_s _tcsxfrm strxfrm strxfrm wcsxfrm _tctime ctime ctime _wctime _tctime_s ctime_s ctime_s _wctime_s _tctime32 _ctime32 _ctime32 _wctime32 _tctime32_s _ctime32_s _ctime32_s _wctime32_s _tctime64 _ctime64 _ctime64 _wctime64 _tctime64_s _ctime64_s _ctime64_s _wctime64_s _texecl _execl _execl _wexecl _texecle _execle _execle _wexecle _texeclp _execlp _execlp _wexeclp _texeclpe _execlpe _execlpe _wexeclpe _texecv _execv _execv _wexecv _texecve _execve _execve _wexecve _texecvp _execvp _execvp _wexecvp _texecvpe _execvpe _execvpe _wexecvpe _tfdopen _fdopen _fdopen _wfdopen _tfindfirst _findfirst _findfirst _wfindfirst _tfindnext _findnext _findnext _wfindnext _tfindnext32 _findnext32 _findnext32 _wfindnext32 _tfindnext64 _findnext64 _findnext64 _wfindnext64 _tfindnexti64 _findnexti64 _findnexti64 _wfindnexti64 _tfindnexti6432 _findnexti6432 _findnexti6432 _wfindnexti6432 _tfindnext32i64 _findnext32i64 _findnext32i64 _wfindnext32i64 _tfopen fopen fopen _wfopen _tfopen_s fopen_s fopen_s _wfopen_s _tfreopen freopen freopen _wfreopen _tfreopen_s freopen_s freopen_s _wfreopen_s _tfsopen _fsopen _fsopen _wfsopen _tfullpath _fullpath _fullpath _wfullpath _tgetcwd _getcwd _getcwd _wgetcwd _tgetdcwd _getdcwd _getdcwd _wgetdcwd _tgetenv getenv getenv _wgetenv _tgetenv_s getenv_s getenv_s _wgetenv_s _tmain main main wmain _tmakepath _makepath _makepath _wmakepath _tmakepath_s _makepath_s _makepath_s _wmakepath_s _tmkdir _mkdir _mkdir _wmkdir _tmktemp _mktemp _mktemp _wmktemp _tmktemp_s _mktemp_s _mktemp_s _wmktemp_s _topen _open _open _wopen _topen_s _open_s _open_s _wopen_s _totlower tolower _mbctolower towlower _totupper toupper _mbctoupper towupper _tperror perror perror _wperror _tpopen _popen _popen _wpopen _tprintf printf printf wprintf _tprintf_s printf_s printf_s wprintf_s _tputenv _putenv _putenv _wputenv _tputenv_s _putenv_s _putenv_s _wputenv_s _tremove remove remove _wremove _trename rename rename _wrename _trmdir _rmdir _rmdir _wrmdir _tsearchenv _searchenv _searchenv _wsearchenv _tsearchenv_s _searchenv_s _searchenv_s _wsearchenv_s _tscanf scanf scanf wscanf _tscanf_s scanf_s scanf_s wscanf_s _tsetlocale setlocale setlocale _wsetlocale _tsopen _sopen _sopen _wsopen _tsopen_s _sopen_s _sopen_s _wsopen_s _tspawnl _spawnl _spawnl _wspawnl _tspawnle _spawnle _spawnle _wspawnle _tspawnlp _spawnlp _spawnlp _wspawnlp _tspawnlpe _spawnlpe _spawnlpe _wspawnlpe _tspawnv _spawnv _spawnv _wspawnv _tspawnve _spawnve _spawnve _wspawnve _tspawnvp _spawnvp _spawnvp _wspawnvp _tspawnvpe _spawnvpe _spawnvpe _wspawnvpe _tsplitpath _splitpath _splitpath _wsplitpath _tstat _stat _stat _wstat _tstat32 _stat32 _stat32 _wstat32 _tstati32 _stati32 _stati32 _wstati32 _tstat64 _stat64 _stat64 _wstat64 _tstati64 _stati64 _stati64 _wstati64 _tstof atof atof _wtof _tstoi atoi atoi _wtoi _tstoi64 _atoi64 _atoi64 _wtoi64 _tstol atol atol _wtol _tstrdate _strdate _strdate _wstrdate _tstrdate_s _strdate_s _strdate_s _wstrdate_s _tstrtime _strtime _strtime _wstrtime _tstrtime_s _strtime_s _strtime_s _wstrtime_s _tsystem system system _wsystem _ttempnam _tempnam _tempnam _wtempnam _ttmpnam tmpnam tmpnam _wtmpnam _ttmpnam_s tmpnam_s tmpnam_s _wtmpnam_s _ttoi atoi atoi _wtoi _ttoi64 _atoi64 _atoi64 _wtoi64 _ttol atol atol _wtol _tunlink _unlink _unlink _wunlink _tutime _utime _utime _wutime _tutime32 _utime32 _utime32 _wutime32 _tutime64 _utime64 _utime64 _wutime64 _tWinMain WinMain WinMain wWinMain _ui64tot _ui64toa _ui64toa _ui64tow _ui64tot_s _ui64toa_s _ui64toa_s _ui64tow_s _ultot _ultoa _ultoa _ultow _ultot_s _ultoa_s _ultoa_s _ultow_s _ungettc ungetc ungetc ungetwc _ungettch _ungetch _ungetch _ungetwch _vftprintf vfprintf vfprintf vfwprintf _vftprintf_s vfprintf_s vfprintf_s vfwprintf_S _vsctprintf _vscprintf _vscprintf _vscwprintf _vsctprintf_s _vscprintf_s _vscprintf_s _vscwprintf_S _vsntprintf _vsnprintf _vsnprintf _vsnwprintf _vsntprintf_s _vsnprintf_s _vsnprintf_s _vsnwprintf_s _vstprintf vsprintf vsprintf vswprintf _vstprintf_s vsprintf_s vsprintf_s vswprintf_s _vtprintf vprintf vprintf vwprintf _vtprintf_s vprintf_s vprintf_s vwprintf_s _TCHAR char char wchar_t _tfinddata_t _finddata_t _finddata_t _wfinddata_t _tfinddata64_t __finddata64_t __finddata64_t __wfinddata64_t _tfinddatai64_t _finddatai64_t _finddatai64_t _wfinddatai64_t _TINT int int wint_t _TSCHAR signed char signed char wchar_t _TUCHAR unsigned char unsigned char wchar_t _TXCHAR char unsigned char wchar_t _T or _TEXT No effect (removed by preprocessor) No effect (removed by preprocessor) L (converts following character or string to its Unicode counterpart) Convert character to floating-point value LC_NUMERIC Convert character to integer value LC_NUMERIC Convert character to 64-bit integer value LC_NUMERIC Convert character to long value LC_NUMERIC _atodbl, _atoflt_l, _atoflt, _atoldbl_l, _atoldbl, _atodbl_l Convert character to double-long value LC_NUMERIC Test given integer for particular condition. LC_CTYPE Test for lead byte LC_CTYPE Read appropriate values for formatting numeric quantities LC_MONETARY, LC_NUMERIC Maximum length in bytes of any multibyte character in current locale (macro defined in STDLIB.H) LC_CTYPE Copy one multibyte character LC_CTYPE Validate and return number of bytes in multibyte character LC_CTYPE strlen, _mbstrlen_l, _mbstrlen, _mbslen_l, _mbslen, wcslen_l, wcslen, strlen_l For multibyte-character strings: validate each character in string; return string length LC_CTYPE Convert sequence of multibyte characters to corresponding sequence of wide characters LC_CTYPE Convert multibyte character to corresponding wide character LC_CTYPE Write formatted output LC_NUMERIC (determines radix character output) Read formatted input LC_NUMERIC (determines radix character recognition) Select locale for program Not applicable _mbscoll_l _wcscoll_l, _strcoll_l, _mbscoll, wcscoll,strcoll Compare characters of two strings LC_COLLATE _mbsicmp_l,_wcsicmp_l, _stricmp_l, _mbsicmp, _wcsicmp, _stricmp, Compare two strings without regard to case LC_CTYPE _mbsicoll_l,_wcsicoll_l, _stricoll_l, _mbsicoll, _wcsicoll,_stricoll, Compare characters of two strings (case insensitive) LC_COLLATE _mbsncoll_l,_wcsncoll_l, _strncoll_l, _mbsncoll, _wcsncoll, _strncoll, Compare first n characters of two strings LC_COLLATE _mbsnicmp_l,_wcsnicmp_l, _strnicmp_l, _mbsnicmp, _wcsnicmp, _strnicmp, Compare characters of two strings without regard to case. LC_CTYPE _mbsnicoll_l,_wcsnicoll_l, _strnicoll_l, _mbsnicoll, _wcsnicoll, _strnicoll, Compare first n characters of two strings (case insensitive) LC_COLLATE Format date and time value according to supplied format argument LC_TIME _mbslwr_l,_wcslwr_l, _strlwr_l, _mbslwr, _wcslwr, _strlwr, _wcslwr_s_l,_wcslwr_s, _mbslwr_s_l, _mbslwr_s, _strlwr_s_l, _strlwr_s, Convert, in place, each uppercase letter in given string to lowercase LC_CTYPE Convert character string to double value LC_NUMERIC (determines radix character recognition) Convert character string to long value LC_NUMERIC (determines radix character recognition) Convert character string to unsigned long value LC_NUMERIC (determines radix character recognition) _wcsupr, _wcsupr_l, _mbsupr_l, _mbsupr, _strupr_l, _strupr, _wcsupr_s_l, _wcsupr_s, _mbsupr_s_l, _mbsupr_s, _strupr_s_l, _strupr_s, Convert, in place, each lowercase letter in string to uppercase LC_CTYPE Transform string into collated form according to locale LC_COLLATE _towlower_l, _tolower_l, towlower, _tolower,tolower,_mbctoupper_l, _mbctoupper, _mbctolower_l,_mbctolower, Convert given character to corresponding lowercase character LC_CTYPE _towupper_l, _toupper_l, towupper, _toupper,toupper, _mbctoupper_l, _mbctoupper, _mbctolower_l,_mbctolower, Convert given character to corresponding uppercase letter LC_CTYPE Convert sequence of wide characters to corresponding sequence of multibyte characters LC_CTYPE Convert wide character to corresponding multibyte character LC_CTYPE
WCHAR Unicode[20];
char UTF8code[20];
int nUTF8codeSize = WideCharToMultiByte(CP_UTF8, 0, Unicode, nUnicodeSize, UTF8code, sizeof(UTF8code), NULL, NULL);
nUnicodeSize = MultiByteToWideChar(CP_UTF8, 0, UTF8code, nUTF8codeSize, Unicode,sizeof(Unicode));
memcpy(buffer, UTF8code, nUTF8codeSize);
Generic-text
routine name SBCS (_UNICODE &
MBCS not defined)_MBCS
defined _UNICODE defined
Generic-text data type name
SBCS (_UNICODE, _MBCS not defined)
_MBCS defined
_UNICODE defined
Routine
Use
setlocale category setting dependence
출처 : http://blog.naver.com/dolicom/10074808231
'Programming > C++' 카테고리의 다른 글
[C++] 레퍼런스(&) 미사용시 복사생성자의 무한루프 (0) | 2011.05.18 |
---|---|
교차 포함 시 대량의 오류가 발생하는 경우 (0) | 2011.04.26 |