c,如何得到一个文件名中指定位置指定长度的字符串??

jstml 2001-07-16 11:17:48
...全文
125 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jstml 2001-07-17
  • 打赏
  • 举报
回复
谢谢了
z_sky 2001-07-16
  • 打赏
  • 举报
回复
哈哈,对标题还有多少种理解?有趣 :-)
beyond_ml 2001-07-16
  • 打赏
  • 举报
回复
哦?难道我看错了?为什么是“文件名中”而不是“字符串”中或者是“文件中”?
beyond_ml 2001-07-16
  • 打赏
  • 举报
回复
呵呵,简单啊。
首先用int fseek( FILE *stream, long offset, int origin );把文件访问指针移到那个“指定位置”
然后,在用size_t fread( void *buffer, size_t size, size_t count, FILE *stream );
读出指定长度(count)个字符到buffer中,不就行了。
具体的使用方法,建议你看一下msdn。
z_sky 2001-07-16
  • 打赏
  • 举报
回复
strncpy(strbuff, strfilename+n, l);
其中,n是“指定位置”,l是“指定长度”。
leechie 2001-07-16
  • 打赏
  • 举报
回复
if(i<=slen)应该为if(i<slen)
leechie 2001-07-16
  • 打赏
  • 举报
回复
char *prasefilename(char *filename,int pos,int len)
{
char *buffer;
int i,j=0,slen;

slen=strlen(filename);
buffer=(char *)malloc(sizeof(char)*slen);
for(i=pos-1;i<=len;i++)
{
if(i<=slen)
buffer[j++]=filename[i];
else
break;
}
buffer[j]='\0';

return(buffer);
}

调用prasefilename("abcd1234",3,2);返回得到它的第三位到第四位的字符串
风中老长 2001-07-16
  • 打赏
  • 举报
回复
可以用查找啊!
jstml 2001-07-16
  • 打赏
  • 举报
回复
我说的是对文件名的操作,假设文件名是abcd123411,我现在要得到它的第三位到第四位的字符串。

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧