- 浏览: 204364 次
- 性别:
- 来自: 成都
最新评论
文章列表
创建文件夹CreateDirectoryA(file, 0);
char file[1024];
memset(file,0,1024);
sprintf(file,"%s\\TradeData\\",g_pApplication->GetAppPath_str().c_str());//
//判断配置文件是否存在
if (GetFileAttributesA(file) == INVALID_FILE_ATTRIBUTES)
{
CreateDirectoryA(file, 0);
}
注:只能建一级目录
heap corruption detected错误解决方法调试方法以及内存管理相关
1、heap corruption detected
http://vopit.blog.51cto.com/2400931/645980
heap corruption detected:after normal block(#xxx) at 0x xxxxxxxx
crt detected that the application wrote to menory after end of heap buffer
这是典型的内存溢出错误,常在内存的delete处发生,而且一般在debug版本中可能出现 ...
edit control字体背景颜色
- 博客分类:
- vc学习
edit control字体背景颜色
属性必须
readonly false
richedit2使用
- 博客分类:
- vc学习
richedit2使用
1)
必须导入dll
HINSTANCE _hsRichDLL
_hsRichDLL = NULL;
//加载富文本dll
TCHAR tmp[1024] = {0};
_stprintf(tmp, TEXT("%s\\riched20.dll"), g_pApplication->GetAppPath());
_hsRichDLL = ::LoadLibraryEx(tmp,NULL,LOAD_WITH_ALTERED_SEARCH_PATH);
if (_hsRichDLL == NULL)
{
M ...
win32 edit control字体颜色
INT_PTR CALLBACK MainUI::MainUIProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
MainUI* pMainUI = (MainUI*)GetWindowLongPtr(hDlg, GWLP_USERDATA);
switch (message)
{
case WM_CTLCOLOREDIT:
{
if ((HWND)lParam == GetDlgItem(pMainUI->GetHWND(),ID ...
VC中数字与字符串转换方法(转)
- 博客分类:
- C++学习
VC中数字与字符串转换方法字符串转数字
1.CRT函数
ASCII UNICODE TCHAR VS2005int atoi _wtoi _tstoi _ttoi _atoi_l _wtoi_llong atol _wtol _tstol _ttol _atoi_l _wtoi_l__int64 _atoi64 _wtoi64 _tstoi64 _ttoi64 _atoi64_l _wtoi64_lfloat _atoflt _atoflt_ldouble atof _wtof _tstof _ttof _atof_l _wt ...
C#笔记21:多线程之线程同步中的锁定lock、Monitor
1:什么是锁
2:如何选择锁定对象
3:如何锁定集合
4:Monitor
1:什么是锁
lock 语句可以用来确保代码块完成运行,而不会被其他线程中断。这是通过在代码块运行期间为给定对象获取互斥锁来实现的。
2:如何选择锁定对象
提供给 lock 关键字的参数必须为基于引用类型的对象,该对象用来定义锁的范围。在上面的示例中,锁的范围限定为此函数,因为函数外不存在任何对对象 lockThis 的引用。如果确实存在此类引用,锁的范围将扩展到该对象。严格地说,提供的对象只是用来唯一地标识由多 ...
TargetNullValue与FallbackValue
TargetNullValue与FallbackValue都是BindingBase的属性。
TargetNullValue:获取或设置当源的值为 nullNothingnullptrunitnull 引用(在 Visual Basic 中为 Nothing) 时在目标中使用的值。
FallbackValue:获取或设置当绑定无法返回值或无法解析源路径时要使用的值。
下面代码中,我们在TextBlock中绑定一个Coutry值
<TextBlock x:Name="CountryValueTex ...
C:数组索引工作模式等同于指针(转)
- 博客分类:
- C++学习
C:数组索引工作模式等同于指针
问题描述:
在C中,a[i]和i[a]是可以互换的,两个写法都能得出一样的结果。
成因分析:
在C中,对内存块而言,数组与指针是无差别的,就是说:
a[i] = *(a + i) = *(i + a) = i[a]。
C/C++:三字母词用法(转)
- 博客分类:
- C++学习
C/C++:三字母词用法(转)
三字母词表如下
1.??( [
2.??< {
3.??= #
4. ??) ]
5.??> }
6.??/ \
7.??! |
8.??` ^
9.??- ~
printf( "What?\?!\n" );
变量赋值换行
ne="123456789012345678901234567890"
可以写成:
ne="12345678901234567890" &_
"1234567890"
Dim partDocument1 as partDocument
等价于
Dim partDocument1 as _
partDocument
起线程,注意事项,生命周期
- 博客分类:
- C++学习
起线程,注意事项,生命周期
//收到交易弹出公告
void TradeMainUI::OnTradePoputBulletin(const string& seq)
{
//启动线程处理以下消息
char *temp = new char[128];
strcpy(temp, seq.c_str());
HANDLE hHandle = CreateThread(NULL, 0, TradePoputBulletinThread, (void*)(temp), 0, NULL);
CloseHandle(hHandle);
}
DWORD WINA ...
以ThreadStart方式实现多线程(转载)
- 博客分类:
- c#学习
以ThreadStart方式实现多线程(转载)
3.1 使用ThreadStart委托
这 里先以一个例子体现一下多线程带来的好处,首先在Message类中建立一个方法ShowMessage(),里面显示了当前运行线程的Id,并使用 Thread.Sleep(int ) 方法模拟部分工作。在main()中通过ThreadStart委托绑定Message对象的ShowMessage()方法,然后通过 Thread.Start()执行异步方法。
1 public class Message
2 {
3 public void ShowMessage ...
C#之MemberwiseClone与Clone(转载)
1、MemberwiseClone 方法创建一个浅表副本,具体来说就是创建一个新对象,然后将当前对象的非静态字段复制到该新对象。如果字段是值类型的,则对该字段执行逐位复制。如果字段是引用类型,则复制引用但不复制引用的对象;因此,原始对象及其复本引用同一对象。
为了实现深度复制,我们就必须遍历有相互引用的对象构成的图,并需要处理其中的循环引用结构。这无疑是十分复杂的。幸好借助.Net的序列化和反序列化机制,可以十分简单的深度Clone一个对象。原理很简单,首先将对象序列化到内存流中,此时对象和对象引用的所用对象的状态都被保存到内存中。.N ...