随笔-76  评论-0  文章-0  trackbacks-0
今天主要做了接口中的显示任务名字的函数。从中学到了许多东西。
1.MIDL中的以字符串为参数时,是不能以字符串数组的形式传参的,不允许char*[]这样的参数。
2.在用函数给一个变量赋值的时候,一定要先给这个变量申请了内存。
3.wcout在不设置locale的情况下是不能输出中文的,而且流和printf系列在输出中文方面和locale有着乱七八糟的关系。
4.自己对locale的方面还不是很清楚,以后找到资料后好好学习一下。

明天继续熟悉代码吧。
case 1:
            
{
                
long nMaxSize = 100;
                wchar_t
* taskList = new wchar_t[nMaxSize];
                
long taskNum = getTaskNum();
                getTasksName(nMaxSize,taskList);
                wstring task_names 
= taskList;
                list
<wstring> task_name_list;
                size_t index 
= 0;
                
while (1)
                
{
                    index 
= task_names.find_first_of(L'$');
                    
if (index!=wstring::npos)
                    
{
                        wstring s 
= task_names.substr(0,index);
                        task_name_list.push_back(s);
                        task_names 
= task_names.substr(index+1,task_names.size()-index-1);
                    }

                    
else
                    
{
                        
break;
                    }

                }
    
                
for (list<wstring>::const_iterator iter=task_name_list.begin();iter!=task_name_list.end();++iter)
                
{
                    wstring t_x
=*iter;
                    wcout.imbue(locale(locale(),
"",LC_CTYPE));  
                    wcout
<<t_x<<endl;
                }

                
break;
            }
posted on 2009-08-26 19:07 Mitnick 阅读(111) 评论(0)  编辑 收藏 引用 所属分类: 工作日志

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理