我的博客新功能~
我在我的博客中加入了新的功能,是可以插入代码的。这样,以后就可以尽可能的多分享一些代码了。
改这个功能的时候,发现了好多好多的问题,目前算是基本上都解决了吧。
目前我基本上支持了我所用到的所有代码高亮,至于模板样式,可能还要进一步的去调整。不过,有这个功能以后,就不用担心会和PHP语法解析冲突了,我会自动将文本解析成HTML然后发布。
还加入了插入图片啊,插入流媒体之类的功能。
下面就测试一下支持几种代码吧:
测试第一个:
这是一个wstring 转 string 的函数:
C++代码
- std::string HelpFunction::WStringToString(const std::wstring& _ws)
- {
- std::string curLocale = setlocale(LC_ALL, NULL); // curLocale = "C";
- setlocale(LC_ALL, "chs");
- const wchar_t* _Source = _ws.c_str();
- size_t _Dsize = 2 * _ws.size() + 1;
- char *_Dest = new char[_Dsize];
- memset(_Dest,0,_Dsize);
- wcstombs(_Dest,_Source,_Dsize);
- std::string result = _Dest;
- delete []_Dest;
- setlocale(LC_ALL, curLocale.c_str());
- return result;
- }
接着是string 转 wstring 的函数:
C++代码
- std::wstring HelpFunction::StringToWString(const std::string& _s)
- {
- setlocale(LC_ALL, "chs");
- const char* _Source = _s.c_str();
- size_t _Dsize = _s.size() + 1;
- wchar_t *_Dest = new wchar_t[_Dsize];
- wmemset(_Dest, 0, _Dsize);
- mbstowcs(_Dest,_Source,_Dsize);
- std::wstring result = _Dest;
- delete []_Dest;
- setlocale(LC_ALL, "C");
- return result;
- }
然后测试一下其他的代码:
在C#中引入Win32的API,导入DLL 实现函数连接:
C#代码
- //通过DllImport引用user32.dll类。MessageBox来自于user32.dll类
- [DllImport("user32.dll", EntryPoint="MessageBox")]
- public static extern int MessageBox(int hWnd, String strMessage, String strCaption, uint uiType);
- public static void Main()
- {
- MessageBox( 0, "Hello World!", "Hi ", 0 );
- }
哈哈,感觉还不错吧~
Categories: Garfield's Diary