请把这个字符串的文件名和路径拆分出来 char strFileName[]= "d:\\我的文档\\我的運價表.xls"; char* strPath=NULL;
char* strFile=NULL;请给出代码,并贴出结果。
看似简单的问题,实际有点复杂,请有经验的朋友分析下为什么会这样,有没什么解决办法。
解决方案 »
- 求一个vs2005用自带数据库编写的一个程序 能连接运行查看就行
- VC6.0通过ADO连接方式MS SQL Server 2000
- 字符串问题,困惑,大家给看看
- 如何把一个不知道有多少个数量的结构体通过一个包的形式传给对方呢。期待高手解决 急
- 求教熟悉RichEditCtrl的请进。
- 关于工作问题,到底去哪家(西安),望各位帮忙看看?
- 请问:怎样将一个SDI分成左右大小相等的两个部分,谢谢!
- 怎样判断数据库连接已经断开(ADO)
- C++怎么学?(有一定C的基础)
- win10系统,vc6中,打开工程文件编译成功,但是按F5调试闪退
- 进程和线程到底是什么
- 求助,想报个网络游戏程序放向的培训班,谁对这方面了解?[
PathFindFileNameA
看MSDN
#include "stdio.h"
#include "windows.h"
void main()
{
char strFileName[]= "d:\\我的文档\\我的運價表.xls";
char* strPath=NULL;
char* strFile=NULL; char *ch1,*ch2;
ch1=strFileName;
while(1)
{
ch1=CharNext(ch1);
if(*ch1=='\\')
{
ch2=ch1;
}
else if(*ch1==0)
{
break;
} }
if(ch2!=NULL)
{
strPath=strFileName;
*ch2=0;
strFile=ch2+1;
}
printf("%s..%s",strPath,strFile);
}
char* strPath=NULL;
char* strFile=NULL; int nLen=strlen(strFileName);
while(--nLen)
{
if(strFileName[nLen]=='\\')
{
strFileName[nLen]='\0';
strFile=strFileName+nLen+1;
strPath=strFileName;
break;
}
}我的写法是从右边找 \ 遇到第一个就把它换成 0,这样直接拆成两个字符,但是汉字里居然有 \ 这个字符,让我头大。。