美文网首页
Windows-字符串

Windows-字符串

作者: 龙马君 | 来源:发表于2018-04-10 16:23 被阅读52次

    LPCTSTR 用法

    在Windows的C++开发中,经常碰到一些字符串的操作,比如LPCTSTR,在这里记录下它的一些知识和相关的操作。

    解释

    LPCTSTR把它进行拆解:
    L: 表示long指针,对的还有near指针,far指针,目的是为了兼容,没有实际意义;
    P: 表示指针;
    C: 表示是一个常亮,const;
    T: 在Win32环境下,有一个_T的宏,这个宏用来表示你的字符串是否使用UNICODE,如何你定义的UNICODE,则这个字符串表示UNICODE字符串,否则就是标准的ANSI字符;

    TCHAR * s = _T("char"); // 定义UNICODE,这s为unicode,否则就是ANSI;
    

    STR: 表示是一个字符串;
    这样我们就可以理解为:const TCHAR * 是一个常量字符串;
    UNICODE: const wchar_t *
    ANSI: const char *

    操作函数

    1. int lstrlen (LPCTSTR lpString);
      函数功能:该函数返回指定字符串(不包括中断字符'')字节数(ANSI版本)或者WCHAR值(Unicode版本)
      返回值:当字符串为TCHAR时,返回指定字符串的长度。当为ANSI版本为字节数。如果字符串为空,返回0。
      size_t strlen( const char *string );
      size_t wcslen( const wchar_t *string );
      函数功能:获得字符串的长度
      返回值:返回string的字符个数

    2. int lstrcmp(LPCTSTR s1, LPCTSTR s2);
      函数功能:字符串对比, 区分大小写;
      返回值:大于0,s1 > s2; 等于0,s1 == s2; 小于0,s1 < s2;
      int lstrcmpi(LPCTSTR s1, LPCTSTR s2)这个函数不区分大小写

    3. LPTSTR lstrcpy(LPTSTR lpString1,LPCTSTR lpString2);
      函数功能:复制一个串到缓冲区。
      返回值:若函数运行成功,返回值是缓冲区的指针,若函数运行失败,返回值是NULL。

        LPTSTR p1 = L"1111";
        TCHAR v[1024] = { 0 };
        //wcscpy(v, p1);
        LPTSTR pr = lstrcpy(v, p1);// pr/v = 1111
        lstrcat(v, L"2222"); // pr/v = 2222
    

    LPTSTR lstrcpyn(LPTSTR lpString1,LPCTSTR lpString2,int iMaxLength);
    函数功能:复制一个串到缓冲区,最大长度为iMaxLength

    作用于宽字符拷贝。

    1. LPTSTR lstrcat(LPWSTR lpString1,LPCWSTR lpString2);
      函数功能:该函数将一个字符串附加在另一个字符串后面。

    TCHAR操作函数

    详见:tchar.h头文件
    _tcs开头,例如:

    TCHAR wchar_t char
    _tcscpy wcscpy strcpy
    _tcslen wcslen strlen
    _tcscmp wcscmp strcmp
    _tcscat wcscat strcat
    _stprintf_s swprintf_s sprintf_s
    _tfopen_s _wfopen_s fopen_s

    wcscpy拆解成 wchar_t copy

    函数原型:
    int _stprintf_s( TCHAR *buffer, size_t sizeOfBuffer, const TCHAR *format [, argument] ... );
    函数功能:
    这个函数的主要作用是将若干个argument按照format格式存到buffer中。
    _ftprintf: 往文件写入字符串。

    相关文章

      网友评论

          本文标题:Windows-字符串

          本文链接:https://www.haomeiwen.com/subject/bshnhftx.html