CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

为什么不能正确显示路径,文件名?显示出来的是十六进制的.

楼主flylonginsky(AGV->future)2004-12-01 12:51:30 在 C/C++ / C++ 语言 提问

#include   <strstrea.h>  
  void   main()  
  {  
  ostrstream   ostPath,ostFile,ostExtend;  
  RouteTab("D:\\1.txt",ostPath,ostFile,ostExtend);//分割文件名的子函数。  
  cout<<"路径为:   "<<ostPath<<"文件名为:   "<<ostFile<<"后缀名为:   "<<ostExtend<<endl;  
  }  
   
  问题点数:30、回复次数:10Top

1 楼beyondtkl(大龙驹<*好久没来了,兄弟们好吧。*>)回复于 2004-12-01 12:54:54 得分 5

晕   RouteTab   是什么函数?  
  那你去看看   重载   ostrstream的cout版本。。。Top

2 楼flylonginsky(AGV->future)回复于 2004-12-09 10:02:17 得分 0

#include   <strstrea.h>  
  #include   <iostream.h>  
  #include   <fstream.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();  
          cout<<ostFile;  
  }  
   
  void   main()  
  {  
  ostrstream   ostPath,ostFile,ostExtend;  
   
  RouteTab("D:\\1.txt",ostPath,ostFile,ostExtend);  
  cout<<"路径为:   "<<ostPath<<"文件名为:   "<<ostFile<<"后缀名为:   "<<ostExtend<<endl;  
  }Top

3 楼flylonginsky(AGV->future)回复于 2004-12-09 10:58:34 得分 0

再顶  
  Top

4 楼pacman2000(pacman)(影子传说)回复于 2004-12-09 11:18:51 得分 15

ostrstream能直接这样cout显示内容吗?   倒。。。Top

5 楼pacman2000(pacman)(影子传说)回复于 2004-12-09 11:20:29 得分 0

用ostPath.str()试试看。Top

6 楼flylonginsky(AGV->future)回复于 2004-12-13 15:13:45 得分 0

不能倒,倒了我问谁去?.str()cout出来的有乱码啊!!Top

7 楼qufan(打死不回头)回复于 2004-12-13 16:54:38 得分 0

你试试设置下输出格式哈Top

8 楼flylonginsky(AGV->future)回复于 2004-12-16 14:51:55 得分 0

你试试设置下输出格式哈  
  ????????  
  哪里的???Top

9 楼xuzheng318(忧郁王子)回复于 2004-12-16 15:40:51 得分 5

ostPath.str()Top

10 楼DiabloWalkOnTheEarth(我想到个绝妙的昵称,只是地方太小,写不下)回复于 2004-12-16 16:16:12 得分 5

ostrPath   <<   ends;   cout   <<   ostrPath.str()Top

相关问题

  • 十六进制的数据如何显示
  • 十六进制数在MSFlexGrid中怎样显示成 000A
  • 怎样在dos下显示隐藏文件名及路径
  • 如何将一个字符串以十六进制方式显示
  • 如何将一个字符串以十六进制方式显示
  • 如何把查询出来的整型数显示成十六进制数?
  • VC下如何实现UltraEdit 十六进制编辑的显示方式?
  • 有人给我发了些代码,用ultraedit打开是十六进制的,不用十六进制显示就什么都看不到了
  • 显示文件名
  • 如何在用printf()时输出八进、十六进制时显示(如,输入1,显示八:01,十六:0x1)

关键词

  • 文件名
  • istroute
  • ostpath
  • ostfile
  • ostextend
  • ostrstream
  • routetab
  • 显示
  • seekg
  • ios

得分解答快速导航

  • 帖主:flylonginsky
  • beyondtkl
  • pacman2000
  • xuzheng318
  • DiabloWalkOnTheEarth

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo