open cv+C++错误及经验总结(十二)

VC从文件全路径中获取文件名和扩展名方法(CString)

方法一:

CString CPrintImage::GetFileTitleFromFileName(CString FileName,CString& ExtendName) //获取文件名和扩展名
{
int Where;
Where=FileName.ReverseFind('\\');
if(Where==-1)
{
Where=FileName.ReverseFind('/');
}
CString FileTitle=FileName.Right(FileName.GetLength()-1-Where);
int Which=FileTitle.ReverseFind('.');
ExtendName=FileTitle.Right(FileTitle.GetLength()-Which-1);
if (Which!=-1)
{
FileTitle=FileTitle.Left(Which);
}
return FileTitle;
}

调用方法:

CString a,b,c;
a="c:\\kele8\\shootman2\\vision\\123.exe";
b=this->GetFileTitleFromFileName(a,c);
AfxMessageBox(b); //弹出123.exe
AfxMessageBox(c); //弹出exe

方法二:
CString CPrintImage::GetFileTitleFromFileName(CString FileName, BOOL Ext) 

int Where; 
Where = FileName.ReverseFind('\\'); 
if (Where == -1) 
Where = FileName.ReverseFind('/'); 
CString FileTitle = FileName.Right(FileName.GetLength() - 1 - Where); 
if (!Ext) 

int Which = FileTitle.ReverseFind('.'); 
if (Which != -1) 
FileTitle = FileTitle.Left(Which); 

return FileTitle; 


调用方法:
CString a,b,c;
a="c:\\kele8\\shootman2\\vision\\123.exe";
b=this->GetFileTitleFromFileName(a,TRUE);
c=this->GetFileTitleFromFileName(a,FALSE);
AfxMessageBox(b); 弹出123.exe
AfxMessageBox(c); 弹出123

Visual Studio的BreakPoint与TracePoint功能

http://hi.baidu.com/cpuramdisk/item/c0711b2bede433fa50fd87f3
一条过原点的直线永远不会与整个平面正交。why?   lesson14 线性代数
常成员函数的用法。

【C++专题】static_cast, dynamic_cast, const_cast探讨

http://www.cnblogs.com/chio/archive/2007/07/18/822389.html

vc 结构体vector中查找元素  

http://blog.163.com/tou_daydayup/blog/static/206349238201252685312873/
所谓的短字符,就是用8bit来表示的字符,典型的应用是ASCII码.而宽字符,顾名思义,就是用16bit表示的字符,典型的有UNICODE.关于windows下的ASCII和UNICODE的更多信息,可以参考这两本经典著作:《windows 程序设计》,《windows 核心编程》.这两本书关于这两种字符都有比较详细的解说.
DcmFileFormat mDcmImage;  
mDcmImage.loadFile(FilePathNew);  
DcmDataset *dataset=mDcmImage.getDataset();


DcmObject *pObject_tg;//start of add on 2014.04.09
pObject_tg = dataset->nextInContainer(NULL); //group 8
Uint16 Gtagc,Etagc;
char Etag_s[5]= {0};
char Gtag_s[5] = {0};
char *valuec = new char[1000];
DWORD buflen = 1000;
//DcmMetaInfo *metainfo=mDcmImage.getMetaInfo();  
//metainfo->remove(DCM_TransferSyntaxUID);  
//delete dataset->remove(DCM_PatientsName);  //删除病人姓名//
//dataset->putAndInsertString(DCM_PatientsName,"TEST-THU");   //增加病人姓名//
//dataset->putAndInsertString(DCM_PatientsBirthTime,"1Y");   //增加病人出生时间//
mDcmImage.saveFile(FilePathNew, EXS_LittleEndianExplicit);
CString 转unsigned short方法:
int n = strtol(it->Gtag,NULL,16);   //it->Gtag为CString类型
Uint16 GtagT = n;
DcmTagKey DcmTK(GtagT,EtagT);
dataset->putAndInsertString(DcmTK,it->value);  //dicom文件增加文件信息
整型赋值给枚举需要显示转换

字符串比较函数strcmp

其函数原型为
strcmp(const char[],const char[]);
strcmp是string compare(字符串比较)的缩写。 作用是比较两个字符串。由于这两个字符数组只参加比较而不应改变其内容,因此两个参数都加上const声明。以下写法是合法的:
strcmp(str1,str2);
strcmp(″China″,″Korea″);
strcmp(str1,″Beijing″);

比较的结果由函数值带回:
  1. 如果字符串1=字符串2,函数值为0。
  2. 如果字符串1>字符串2,函数值为一正整数。
  3. 如果字符串1<字符串2,函数值为一负整数。 
自顶向下设计 :
一种逐步求精的设计程序的过程和方法。对要完成的任务进行分解,先对最高层次中的问题进行定义、设计、编程和测试,而将其中未解决的问题作为一个子任务放到下一层次中去解决。这样逐层、逐个地进行定义、设计、编程和测试,直到所有层次上的问题均由实用程序来解决,就能设计出具有层次结构的程序。
按自顶向下的方法设计时,设计师首先对所设计的系统要有一个全面的理解.然后从顶层开始,连续地逐层向下分解,起到系统的所有模块都小到便于掌握为止.

convention

生词本
去背诵
英 [kənˈvenʃn]
美 [kənˈvɛnʃən]

n.   

provision

生词本
去背诵
英 [prə'vɪʒn]
美 [prəˈvɪʒən]

n.   

vt.& vi.

英 ['sʌbdʒɪkt]
美 [ˈsʌbdʒekt]

n.  

adj. 

v. 

be subject to

生词本
英 [bi: ˈsʌbdʒikt tu:]
美 [bi ˈsʌbdʒekt tu]

v.   

terminology

生词本
去背诵
英 [ˌtɜ:mɪ'nɒlədʒɪ]
美 [ˌtə:məˈnɑlədʒi]

n.  

normative

生词本
去背诵
英 ['nɔ:mətɪv]
美 [ˈnɔrmətɪv]

adj.

constitute

生词本
去背诵
英 ['kɒnstɪtju:t]
美 [ˈkɑnstɪˌtut, -ˌtjut]

vt.   

今天我们要讲的词根是cept,它的变体有ceive,cip。这是到目前为止我们讲到的第一个比较抽象的词根,首先来看看concept(概念)单词,con-+cept,con的意思(需要掌握)是“与,合,共,一起”,cept的意思则是。所谓概念,新华字典的解释是:( 大家好好观察下面那句话哈,其实任何语言之间都会有共性的。)人类在认识过程中,把所感觉到的事物的共同特点出来,加以概括,就成为概念。这里的共同con对应,抽(拿)cept对应。那么,concept这个单词咱们就解释完了,请记住cept,ceive的意思是to take(拿),下面咱们来看看和cept有关的单词

1.accept (接受) 前缀ac-没有多大实际意思,我们只需要看这个单词的词根就可以了 

2.acceptable (可接受的) -able是一个极为典型的形容词后缀,表示“能...的”

3.acceptance (承认,接受) 

4.accepted (被大众所接纳的)

5.deceive (欺骗)这里我们有必要了解一下de-这个前缀,devil和demon这两个单词大家都

   知道,都是“魔鬼,撒旦”的意思,为什么这两个单词都是de-打头的呢?这是因为de-这个

   词根其实含有贬义色彩,常常和不好的,邪恶的东西联系在一起。所以,deceive这个单词

   首先我们得了解它是贬义的,通过不正当的手段别人东西就是欺诈,欺骗

6.deception (欺骗) 这个单词是deceive的名词,大家可能会感到奇怪,怎么这种单词的名词

   形式和动词形式拼法相差这么大,其实呢,ceive是cept的变体,简单的说它们是同一个妈 生的。

7.deceptive (欺骗的,虚伪的)

8.except (除...之外) ex-这个前缀很常见,表示"向外,朝外,在外面"比如exit(出口)这个单词中的ex-就表示向外。那么except从字面上解释就是拿到外面了,对吗?也就是不包括在内,那么也就是除....之外的意

template

生词本
英 ['templeɪt]
美 [ˈtɛmplɪt]

n.  

英 ['kəʊdɪd]
美 ['koʊdɪd]

adj. 

v.

capitalized

生词本
去背诵
英 ['kæpɪtəlɑɪzd] 美 ['kæpɪtəlɑɪzd]

n.

v. 

constrain

生词本
去背诵
英 [kən'streɪn]
美 [kənˈstren]

vt.   

con-全部、一起,strain-拉;拉到一起→限制,强制;strain表示拉和前面讲到的... 

unencrypted

生词本
英 [ʌnɪnk'rɪptɪd] 美 [ʌnɪnk'rɪptɪd]

en 使进入   crypt=secret,hidden,表示“秘密,隐藏”"  crypt  n 地窖,地穴...
英 [ˈspeɪʃl]
美 [ˈspeʃəl]

adj.   

网 络
  • 空间;
  • 空间的;
  • 立体的;
  • 空域

 –spac-, -spat- space: spacious, spatial

temporal

生词本
去背诵
英 [ˈtempərəl]
美 [ˈtɛmpərəl, ˈtɛmprəl]

adj.   

n.  

Temp =time 时间
英 [nestɪd]
美 [nestɪd]

adj.

v.

clinical

生词本
去背诵
英 [ˈklɪnɪkl]
美 [ˈklɪnɪkəl]

adj.   

[ˈmæpiŋ]

v.  

c++中 extern 是什么含义?

用例子给你示范 
// 1.cpp 
int x = 10; 
// 2.cpp 注意没有包含1.cpp 
#include <iostream> 
using namespace std; 
extern int x;
int main () 
{ cout << x << endl; } 
//则输出10 
两个文件同在一个项目(project)中,你不包含某个文件(cpp)而可以用它内部定义的变量,(里是.pp不是.h, 因为在.h中定义的数据不能在.cpp中用除非这个.cpp包含这个.h文件) 
例: 
// 1.h 
#include <iostream> 
void print() 
{ 
std::cout << "hello!" << std::endl; 
} 
// 2.cpp 
#include <iostream> 
using namespace std; 
// 以上两句在这个例子中可以不要 
extern void print(); 
int main () 
{ 
print(); 
} 
就会出错因为1.h中的void print();在不包含它的文件中是不可调用的,即使在声明了extern 也于事无补,如果你将这个例子中的1.h名字换成1.cpp就对了! 
从这些可以看出来,extern在这里起的作用是告诉编译器,你这个print()已经在某个.cpp中已经定义了,这里只不过是声明一下有这个东西,然后拿来用一下。定义只能出现一次,声明却可出现多次,也就是说extern声明可在多个文件中用(包括.h) 
还有,你还可以屏蔽extern声明,如第二个例子中的第二个.cpp文件可以改成 
#include <iostream> 
using namespace std; 
// 这里以上两句不能省略,因为,这里extern void print();函数已经不起作用了,在这里调用的而是本文件中定义的void print()函数,其中用到了cout,endl;他们来源于std::<iostream> 
extern void print(); 
void print() 
{ 
cout << "world!" << endl; 
} 

int main () 
{ 
print(); 
} 
// 输出结果为world! 
还有一个extern "C"就不用说了,用这个可以允许C++程序中调用C的函数!
人人网词汇记忆
http://blog.renren.com/share/222549002/588544996
.cal-一般都和计算有关,例如:calendar n. 日历,月历; calibration  n.校准,刻度...
clinical context临床环境


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值