首页 > 代码库 > 9.21 宽字符串 语音识别

9.21 宽字符串 语音识别

宽字符:                                       
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <locale.h>
  5. int main()
  6. {
  7. char str[10] = "轩辕";
  8. printf("%d,%d\n", sizeof(str), strlen(str));//10,4
  9. printf("%d\n", sizeof("轩辕"));     //5

  10. printf("%c%c\n", str[0], str[1]); //轩
  11. printf("%c %c\n", str[0], str[1]); //乱码

  12. printf("%d,%d\n", sizeof("hello"), sizeof(L"hello"));// 6 12

  13. char *p = "hello天朝";
  14. wchar_t *pw = L"hello天朝";
  15. printf("%s\n", p); //hello天朝
  16. //宽字符的错误输出:
  17. printf("%s\n", pw);     //h (输出结果不对)
  18. printf("%ls\n", pw);     //hello (输出结果不对)
  19. printf(L"%s\n", pw);     //无输出
  20. printf(L"%ls\n", pw);    //无输出
  21. //正确输出:
  22. //1:必须包含locale.h 2:必须设置本地语言 3:ls是处理宽字符的
  23. setlocale(LC_ALL, "zh-CN"); //简体中文
  24. printf("%ls\n", pw);     //hello天朝 (注意在setlocale下这句话也能正确打印)
  25. wprintf(L"%ls\n", pw);     //hello天朝
  26. return 0;
  27. }


宽字符     strlen sizeof  :        
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <string.h>
  4. int main()
  5. {
  6. wchar_t wstr[10] = L"刘威";
  7. printf("%d\n", sizeof(wstr));//20
  8. printf("%d\n", strlen(wstr));//4
  9. printf("%d\n", sizeof("刘威"));//5
  10. printf("%d\n", strlen("刘威"));//4
  11. printf("%d\n", sizeof(L"刘威"));//6
  12. printf("%d\n", strlen(L"刘威"));//4
  13. return 0;
  14. }




来自为知笔记(Wiz)


9.21 宽字符串 语音识别