首页   |   IT资讯   |   综合资讯   |   开发   |   软件   |   问答   |   网络技术   |   网络综合
更多:
当前位置:首页 » 手机数码
文章正文

关于打开文件open的小问题。

类型:转载   责任编辑:asp   日期:2007/03/01

    

就是写个函数  
   
  long   copenfile(lpstr   filename,   lpstr   openmode)  
  {  
  int   handf;  
  if(strcmp(openmode,   "r")   ==   0)   {  
  handf   =   open(filename,o_rdonly);  
  }  
  else   if(strcmp(openmode,   "r+")   ==   0)   {  
  handf   =   open(filename,o_rdwr);  
  }  
  else   if(strcmp(openmode,   "w")   ==   0)   {  
  handf   =   open(filename,o_wronly   |   o_creat   |   o_trunc);  
  }  
  else   if(strcmp(openmode,   "w+")   ==   0)   {  
  handf   =   open(filename,o_rdwr   |   o_creat   |   o_trunc);  
  }  
  return((long)handf);  
  }  
   
  可是就是与我期望的不一样。  
  希望谁能帮我把openmode写正确。

推荐阅读

  • 2005年8月我国MP3产品广告宣传分析 [详细内容]
  • SMART智能内存让内存smart起来 [详细内容]
  • 制作自己的待机图片(写给新手) [详细内容]
  • 原色耗材:要做国产耗材的领军企业 [详细内容]
  • SMART靓银版m-tri玩家内存也讲性价比 [详细内容]
  • 无需工具,手动修改T408的内置字符 [详细内容]
  • 情商决定你在IT业的职位 [详细内容]
  • 网友回答:
    网友:eaglezhy

    能不能完整点啊,没头没尾的怎么看啊,什么问题也说一下么,运行后是什么结果

    网友:eaglezhy

    是不是这样一个问题:你要接受的字符是2位,你定义为2位,字符串结束符\0   就溢出了。

    网友:lcp

    试试下面的:  
      int   copenfile(lpstr   filename,   lpstr   openmode)  
      {  
      int   handf   =   0   ;  
      if(strcmp(openmode,   "r")   ==   0)   {  
      handf   =   open(filename,o_rdonly);  
      }  
      else   if(strcmp(openmode,   "r+")   ==   0)   {  
      handf   =   open(filename,o_rdwr);  
      }  
      else   if(strcmp(openmode,   "w")   ==   0)   {  
      handf   =   open(filename,o_wronly   |   o_creat   |   o_trunc);  
      }  
      else   if(strcmp(openmode,   "w+")   ==   0)   {  
      handf   =   open(filename,o_rdwr   |   o_creat   |   o_trunc);  
      }  
      return   handf;  
      }  
     

    网友:lcp

    用_open代替open试试看。

    .
      最佳浏览:1024X768 MSIE
    ©2007 jqmk.com.cn All Rights Reserved