C++自定义异常和字符集合

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/88757633

一 std:exception类简单使用

1 代码

#include <iostream>
#include <exception>
using namespace std;
struct MyException : public exception
{
  const char * what () const throw ()
  {
    return "C++ Exception";
  }
};
int main()
{
  try
  {
    throw MyException();
  }
  catch(MyException& e)
  {
    std::cout << "MyException caught" << std::endl;
    std::cout << e.what() << std::endl;
  }
  catch(std::exception& e)
  {
    //其他错误
  }
}

2 结果

[root@localhost test]# ./test
MyException caught
C++ Exception

二 找出char类型的数组里的汉字

1 代码

#include "string.h"
#include "iostream"
using namespace std;

int main(int argc, char* argv[])
{
    char sz1[] = "a世界a1a都去asdfad哪啦";
    string str;
    int i, len = strlen(sz1); //得到字符数组长度

    for (int i = 0; i < len;)
    {
        if (sz1[i] < 0)   //负数则前后两个字节存的是汉字
        {
            str.push_back(sz1[i]);
            i++;
            str.push_back(sz1[i]);
        }
        i++;
    }
    cout << str << endl; //输出找到的汉字

    return 0;
}

2 结果

[root@localhost test]# ./test
世界都去哪啦

三 centOS 7下wchar_t的长度

1 代码

#include <stdio.h>
int main()
{
    wchar_t ch1='A';
    printf("sizeof(ch1)=%d\n",sizeof(ch1));
    return 0;
}

2 运行

[root@localhost test]# g++ test1.cpp -o test1
[root@localhost test]# ./test1
sizeof(ch1)=4

猜你喜欢

转载自blog.csdn.net/chengqiuming/article/details/88757633
今日推荐