
函数声明:char* GetName(char*,int)
整个程序:
#include<stdio.h>
char* GetName(char*,int)
int main(void)
{
char str[] = "http://img.baidu.com/img/logo-zhidao.gif"
char *name
int n
n = sizeof(str) //计算字符串的长度(包括'\0')
name = GetName(str,n) //把字符串及其长度传给函数
printf("%s\n",name) //name就是那个名称,可以输出
return 0
}
char* GetName(char*ptr,int n)
{
int i = n //这里i只是为循环即使终止了也未找到/而准备
ptr+=n//把指针移到字符串的尾部,即'\0'处
while(i-->0)
{
if((*ptr--) == '/') //指针不断回移并判断是否为/符号
{
break //从后向前遇到第一个/后退出循环
}
}
ptr+=2
return ptr//反回最后一个/后面的字符串即名称
}
函数原型:
char* GetName(char*ptr,int n)
{
int i = n
ptr+=n
while(i-->0)
{
if((*ptr--) == '/')
{
break
}
}
ptr+=2
return ptr
}
这就要看你的U盘在显示是什么盘符了,假如是H盘吧,全部下载到F盘根目录下的cfiles中:@echo off
f:
md cfiles
h:
for /r %%i in (*.c) do copy %%i f:\cfiles
pause
由于楼主说得不是很清楚,比如源盘符和目的地址,所以等楼主说清楚了再修改吧。
void get_filename(char *path, char *name){
int i,j = 0
for(i = 0 path[i] i ++)
if(path[i] == '\\') j = i
strcpy(name, &path[j])
}
这样得到的name就是你需要的。
PS:对于windows 路径中的是\ 而不是你题目中的/
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)