<pre name="code" class="cpp"><span style="white-space:pre"> <span style="white-space:pre"> </span>stringstream name_pcd_sub_suffix; //去掉后缀名
<span style="white-space:pre"> </span>stringstream ss_read; </span><pre name="code" class="cpp"> <span style="white-space:pre"> </span>//完整的路径 文件名 后缀名 的 string, 去掉后缀名 两种方法
//1 file.substring(0,file.length-3 ;substring函数
//2
int pos = ss_read.str().find_last_of('.');
name_pcd_sub_suffix<<ss_read.str().substr(0,pos);
以下转自 <a target=_blank href="http://blog.csdn.net/zhuxiaoyang2000/article/details/6800563">http://blog.csdn.net/zhuxiaoyang2000/article/details/6800563</a>
string getName(const char* full_name)
{
string file_name = full_name;
const char* mn_first = full_name;
const char* mn_last = full_name + strlen( full_name );
if ( strrchr( full_name, '\\' ) != NULL )
mn_first = strrchr( full_name, '\\' ) + 1;
else if ( strrchr( full_name, '/' ) != NULL )
mn_first = strrchr( full_name, '/' ) + 1;
if ( strrchr( full_name, '.' ) != NULL )
mn_last = strrchr( full_name, '.' );
if ( mn_last < mn_first )
mn_last = full_name + strlen( full_name );
file_name.assign( mn_first, mn_last );
return file_name;
}
去掉后缀
<pre name="code" class="html">string getExt(string full_name)
{
return full_name.rfind(".") == string.npos ? full_name : full_name.substr(full_name.rfind(".")+1);
}