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 线性代数
常成员函数的用法。
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=字符串2,函数值为0。
- 如果字符串1>字符串2,函数值为一正整数。
- 如果字符串1<字符串2,函数值为一负整数。
自顶向下设计 :
一种逐步求精的设计程序的过程和方法。对要完成的任务进行分解,先对最高层次中的问题进行定义、设计、编程和测试,而将其中未解决的问题作为一个子任务放到下一层次中去解决。这样逐层、逐个地进行定义、设计、编程和测试,直到所有层次上的问题均由实用程序来解决,就能设计出具有层次结构的程序。
按自顶向下的方法设计时,设计师首先对所设计的系统要有一个全面的理解.然后从顶层开始,连续地逐层向下分解,起到系统的所有模块都小到便于掌握为止.
英 [kənˈvenʃn]
美 [kənˈvɛnʃən]
n.
英 [prə'vɪʒn]
美 [prəˈvɪʒən]
n.
vt.& vi.
英 ['sʌbdʒɪkt]
美 [ˈsʌbdʒekt]
n.
adj.
v.
英 [bi: ˈsʌbdʒikt tu:]
美 [bi ˈsʌbdʒekt tu]
英 [ˌtɜ:mɪ'nɒlədʒɪ]
美 [ˌtə:məˈnɑlədʒi]
英 ['nɔ:mətɪv]
美 [ˈnɔrmətɪv]
英 ['kɒnstɪtju:t]
美 [ˈkɑnstɪˌtut, -ˌtjut]
今天我们要讲的词根是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从字面上解释就是拿到外面了,对吗?也就是不包括在内,那么也就是除....之外的意
英 ['templeɪt]
美 [ˈtɛmplɪt]
adj.
v.
英 ['kæpɪtəlɑɪzd]
美 ['kæpɪtəlɑɪzd]
n.
v.
英 [kən'streɪn]
美 [kənˈstren]
con-全部、一起,strain-拉;拉到一起→限制,强制;strain表示拉和前面讲到的...
英 [ʌnɪnk'rɪptɪd]
美 [ʌnɪnk'rɪptɪd]
en 使进入
crypt=secret,hidden,表示“秘密,隐藏”"
crypt
n 地窖,地穴...
adj.
–spac-, -spat- space: spacious, spatial
英 [ˈtempərəl]
美 [ˈtɛmpərəl, ˈtɛmprəl]
adj.
n.
Temp
=time 时间
adj.
v.
英 [ˈklɪnɪkl]
美 [ˈklɪnɪkəl]
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临床环境