免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2595 | 回复: 13
打印 上一主题 下一主题

fopen问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-18 10:18 |只看该作者 |倒序浏览
请问fopen要打开文件的后缀只能是3个字符吗?
如果是4个字符是不是大不开?

论坛徽章:
0
2 [报告]
发表于 2006-07-18 10:29 |只看该作者
fopen 跟文件后缀毫无关系

论坛徽章:
0
3 [报告]
发表于 2006-07-18 10:32 |只看该作者
比如我用1.rmvb,fopen大不开
但用1.rmv就能打开

论坛徽章:
0
4 [报告]
发表于 2006-07-18 10:33 |只看该作者
估计是你代码写错了。
摘录你的代码片断出来看看。

论坛徽章:
0
5 [报告]
发表于 2006-07-18 10:38 |只看该作者
可以打开,没有这样的限制

论坛徽章:
0
6 [报告]
发表于 2006-07-18 10:39 |只看该作者
谢谢
#include<stdio.h>
#include<process.h>
main()
{
char name[80];
char num[10]={'1','2','3','4','5','6','7','8','9','0'};
int n,m,i;
int buf[9];
FILE *in;
FILE *out;
for(i=0;i<1;i++)
{
name[0]=num[i];
name[1]='.';
name[2]='r';
name[3]='m';
name[4]='v';
name[5]='b';
  if((in=fopen("rmvb.rmvb","rb"))==NULL)
  {
   printf("can not open in\n");
   exit(0);
  }
  if((out=fopen("1.rmvb","wb"))==NULL)
  {
   printf("can not open out\n");
   exit(0);
  }
while(1)
{
     m=0;
n=fread(buf,sizeof(int),9,in);
    if(feof(in))
     m=1;
if(fwrite(buf,sizeof(int),n,out)!=n)
  if(n!=9)
   break;
   if(m)
    break;
}
fclose(out);
fclose(in);
}
}

论坛徽章:
0
7 [报告]
发表于 2006-07-18 10:43 |只看该作者
检查1.rmvb的权限, 如果有1.rmvb存在。且权限为r--r--r--则,fopen失败

论坛徽章:
0
8 [报告]
发表于 2006-07-18 11:13 |只看该作者
好像不是这得问题,两个文件名如果是rmvb.rmvb,1.rmvb第一个文件就大不开,
如果改为rmvb.rmv,1.rmv就可以运行了;
如果改为rmvb.rmv,1.rmvb也可以运行,但1.rmvb回不完整(比rmvb.rmvb小);1.rmvb文件名会变为1.rmv。

论坛徽章:
0
9 [报告]
发表于 2006-07-18 11:14 |只看该作者
有没有可能是我用的TC有问题?

论坛徽章:
0
10 [报告]
发表于 2006-07-18 11:16 |只看该作者
TC2.0 ? 汗......
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP