为了健壮程序的执行,并且满足ansi和unicode的处理,所有用到字符串的类型为:
string,一律使用tstring
char 一律用TCHAR 数组用TCHAR* 或者PTSTR
sizeof(szBuffer) 字符串大小要用_countof(szBuffer)
所有的字符串处理函数一律使用已_tcs开头的已_s结尾的安全函数,如果有_s的一定要用。
内存分配要用_tcsmalloc
在StdAfx.h中定义如下。
#ifdef _UNICODE
#define tstring wstring
#else
#define tstring string
#endif
string,一律使用tstring
char 一律用TCHAR 数组用TCHAR* 或者PTSTR
sizeof(szBuffer) 字符串大小要用_countof(szBuffer)
所有的字符串处理函数一律使用已_tcs开头的已_s结尾的安全函数,如果有_s的一定要用。
内存分配要用_tcsmalloc
在StdAfx.h中定义如下。
#ifdef _UNICODE
#define tstring wstring
#else
#define tstring string
#endif
#define _tcsmalloc(nCharacters) (TCHAR*)malloc(nCharacters * sizeof(TCHAR))
适应函数 | 多字节 | unicode | 解释 |
_tcscat_s | strcat_s | wcscat_s | 字符串追加区分大小写 |
_tcscpy_s | strcpy_s | wcscpy_s | 字符串拷贝区分大小写 |
_tcserror_s | strerror_s | _wcserror_s | 获取系统错误信息或打印用户程序错误信息。 |
_tscanf_s | scanf_s | wscanf_s | 格式输入函数 |
_ftscanf_s | fscanf_s | fwscanf_s | 从一个流中执行格式化输入 |
_stscanf_s | sscanf_s | swscanf_s | 从一个字符串中读进与指定格式相符的数据. |
_sntscanf_s | _snscanf_s | _snwscanf_s | 一个指定长度的 Reads 设置数据从字符串中 |
_tprintf_s | printf_s | wprintf_s | 产生格式化输出的函数 |
_tcprintf_s | _cprintf_s | _cwprintf_s | 送格式化输出至屏幕 |
_vtcprintf_s | _vcprintf_s | _vcwprintf_s | 编写格式化输出到控制台使用指针参数列表。 |
_ftprintf_s | fprintf_s | fwprintf_s | 其作用是格式化输出到一个流/文件中; |
_stprintf_s | sprintf_s | swprintf_s | 把格式化的数据写入某个字符串缓冲区。 |
_sntprintf_s | _snprintf_s | _snwprintf_s | 将可变个参数(...)按照format格式化成字符串,然后将其复制到str中 |
_vtprintf_s | vprintf_s | vwprintf_s | 编写格式化输出使用指针参数列表。 |
_vftprintf_s | vfprintf_s | vfwprintf_s | 格式化的数据输出到指定的数据流中 |
_vstprintf_s | vsprintf_s | vswprintf_s | 送格式化输出到串中 |
_vsntprintf_s | _vsnprintf_s | _vsnwprintf_s | 用于像字符串中打印数据、数据格式用户自定义。 |
_sctprintf | _scwprintf | 返回的格式字符串中的字符数。 | |
_vsctprintf | _vscwprintf | 使用指针的参数列表,格式字符串中的字符数返回。 | |
_tcscanf_s | _cwscanf_s | 从控制台读取格式的数据。 | |
_fgetts | fgetws | 从流中读入字符串 | |
_cgetts_s | _cgetws_s | 指定字节数读入 | |
_putts | _putws | 输出字符串 | |
_getts_s | _getws_s | 从流中读入字符串 | |
_tcsncat_s | wcsncat_s | 字符串追加指定大小 | |
_tcsncpy_s | wcsncpy_s | 字符串拷贝指定大小 | |
_tcstok_s | wcstok_s | 分解字符串为一组字符串。 | |
_tcsnset_s | _wcsnset_s | 初始化為指定的字元字串的字元 | |
_tcsset_s | _wcsset_s | 初始化為指定的字元字串的字元 | |
_tcscmp | wcscmp | 比较两个字符串是否相同 | |
_tcsicmp | _wcsicmp | 比较两个字符串是否相同,区分大小写 | |
_tcsnccmp,_tcsncmp | wcsncmp | 指定字节数比较字符串 | |
_tcsncicmp,_tcsnicmp | _wcsnicmp | 指定字节数比较字符串,不区分大小写 | |
_tcscoll | wcscoll | 字符的字符串比较 | |
_tcsicoll | _wcsicoll | 字符的字符串比较,不区分大小写 | |
_tcsnccoll,_tcsncoll | _wcsncoll | 比较字符串使用的语言环境特定的信息。 | |
_tcsncicoll,_tcsnicoll | _wcsnicoll | 比较字符串使用的语言环境特定的信息,不区分大小写 | |
_tcsftime | wcsftime | 字符串转换成日期和时间 | |
_tctime_s | _wctime_s | 把日期和时间转换为字符串 | |
_tfopen_s | _wfopen_s | 打开文件 | |
_tfreopen_s | _wfreopen_s | 打开指定路径的文件 | |
_tstat | _wstat | 获取文件大小 |