社区
C语言
帖子详情
如何截取文件名,而去掉后缀??
kurt_hu
2000-08-17 12:15:00
请问:如何截取文件名,而去掉后缀?如:file1.txt,我只要file1即可。
...全文
3424
10
打赏
收藏
如何截取文件名,而去掉后缀??
请问:如何截取文件名,而去掉后缀?如:file1.txt,我只要file1即可。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rusan
2001-09-12
打赏
举报
回复
#include <stdio.h>
#include <dir.h>
#include <stdlib.h>
int fnsplit(const char* path,const char* drive,const char* directory,const char* filename,const char* ext)
上面是一函数, 其中filename就是你想要的没有扩展名的文件名
try it?
fhaibo
2001-09-12
打赏
举报
回复
我在项目中作过的
将一个全路径名分为:路径,文件名,后缀名
输入:istRoute是全路径名
输出:ostPath路径名
ostFile文件名
ostExtend后缀名
#include <strstrea.h>
void RouteTab(istrstream istRoute,ostrstream &ostPath,ostrstream &ostFile,ostrstream &ostExtend)
{
int tab=0;
istRoute.seekg(0,ios::end);
int end=istRoute.tellg()+1;
istRoute.seekg(0,ios::beg);
int a;
for(int i=1;i<end;i++)
{
istRoute.seekg(-i,ios::end);
a=istRoute.get();
if(a=='\\')
{
tab=istRoute.tellg();
break;
}
}
if(!tab)
istRoute.seekg(-1,ios::cur);
ostrstream ostname;
ostname<<istRoute.rdbuf();
istRoute.seekg(0,ios::beg);
while(istRoute.tellg()<tab)
ostPath<<(char)istRoute.get();
istrstream istname(ostname.str());
tab=ostname.pcount();
while(istname.tellg()<ostname.pcount())
{
if(istname.get()=='.')
{
istname.seekg(-1,ios::cur);
tab=istname.tellg();
break;
}
}
if(tab!=ostname.pcount())
ostExtend<<istname.rdbuf();
istname.seekg(0,ios::beg);
while(istname.tellg()<tab)
ostFile<<(char)istname.get();
}
phyllis
2001-09-12
打赏
举报
回复
CString FileTittle;
CFile Data_openDialog;
FileTittle=Data_openDialog.GetTittleName();
sztanj
2000-09-08
打赏
举报
回复
vc真麻烦,c++builder对这个功能有专门的函数。
claider
2000-08-20
打赏
举报
回复
只要用splitpath()
就行了
元明
2000-08-19
打赏
举报
回复
不错
borz
2000-08-18
打赏
举报
回复
#include <string.h>
#include <stdio.h>
char* getFile(char *fullname)
{
int from,to,i;
char *newstr,*temp;
if(fullname!=NULL)
{
if((temp=strchr(fullname,'.'))==NULL)//if not find dot
newstr = fullname;
else
{
from = strlen(fullname) - 1;
to = (temp-fullname); //the first dot's index;
for(i=from;i--;i<=to)
if(fullname[i]=='.')break;//find the last dot
newstr = (char*)malloc(i+1);
strncpy(newstr,fullname,i);
*(newstr+i)=0;
}
}
return newstr;
}
int main(int argc,char *argv[])
{
char *file1 = getFile(argv[1]);
printf("%s",file1);
exit(0);
}
Kevin_qing
2000-08-17
打赏
举报
回复
char * fn="file.txt";
int i=0;
i=strlen(fn);
char* fn1=fn+i;
while(fn1>fn){
if(*fn1=='.')
{
*fn1=0;
break;}
fn1--;
}
这样fn就变为"file "了
qiangsheng
2000-08-17
打赏
举报
回复
前面两位给了程序,俺就说说思路吧。
在MS DOS系列里(包括16位WIN,WIN3.0~PWIN3.2),是把文件名中“.”后面的部分作为扩展名的,一个文件名不允许出现两个“.”;到了WIN95以后,开始使用长文件名,并允许文件名中出现“.”,那样,WINDOWS就把最后一个“.”以后的部分作为扩展名。上两个算法都是查找最后一个“.”并截取它前面的部分作为文件名。
看在俺也写了这么多的份上,给点分吧。 ^_*
U皮特U
2000-08-17
打赏
举报
回复
CString strFile = "file1.txt";
int pos = strFile.ReverseFind('.'));
if ( pos > 0 )
CString strRet = strFile.Left(pos);
// Now, strRet == "file1"
正则
截取
文件名
,文件
后缀
,文件路径
正则
截取
文件名
,文件
后缀
,文件父路径,
去掉
文件
后缀
FileNameUtils.getParentPath : 获取父路径 如 C:\A\B\test.txt 返回: C:\A\B\ /home/usr/test.txt 返回 /home/usr/ FileNameUtils.getSuffix : 获取文件
后缀
...
PHP开发实战1200例源码
实例090 获取上传文件的
后缀
124 实例091 统一上传
文件名
称的大小写 125 实例092 论坛中直接输出HTML脚本 126 实例093 统计帖子标题的长度 127 实例094 计算论坛帖子的字节数 128 实例095 实现帖子内容的定位查找 ...
js
截取
文件名
不带
后缀
利用正则表达式是匹配
后缀
名 一般文件
后缀
都为.xxx,也就是说从尾部匹配的话首先是字母,接着应该有一个. 那么我们就开始写正则表达式 利用在线工具 方便我们编写边测试 一般都是小写字母,所以我们用[a-z],个...
java
截取
文件名
后缀
需要分割时+1 **/ 在 String 中提供了两个
截取
字符串的方法,一个是从指定位置
截取
到字符串结尾,另一个是
截取
指定范围的内容。 1.substring(int beginIndex) 形式这个是从指定位置开始
截取
一直
截取
到字符串末尾。 2...
java
去掉
文件名
后缀
名_java 获取
文件名
(不包括文件的
后缀
)和文件重命名
获取
文件名
(不包括
后缀
)originalFileName.substring(0, originalFileName.lastIndexOf("."))文件重命名public void renameFile(String file, String toFile) {File toBeRenamed = new File(file);//检查要重命名的...
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章