免费注册 查看新帖 |

Chinaunix

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

关于文件操作的几个问题, [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-20 14:08 |只看该作者 |倒序浏览
#include <stdio.h>
     main()
     {
          FILE *fp;
          int dat[100];
          fp=fopen("test.dat", "rb");/*打开一个二进制文件只读*/
          if(fread(dat, sizeof(int), 100, fp)!=100)
                                        /*判断是否读了100个数*/
            {
               if(feof(fp))
                 printf("End of file"); /*不到100个数文件结束*/
               else
                 printf("Read error");  /*读数错误*/
          fclose(fp);                   /*关闭文件*/
     }
用VC编译后出现以下问题:
Compiling...
fseek().cpp
C:\Documents and Settings\Awp\My Documents\fseek().cpp(16) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错.

fseek().obj - 1 error(s), 0 warning(s)

 请问怎么解决~~谢谢

[ 本帖最后由 虫子王 于 2006-2-20 16:04 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-02-20 14:13 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2006-02-20 14:53 |只看该作者

请在看一下这个

#include<stdio.h>
#include<stdlib.h>
void   main()
{
            FILE  *fp;
           if((fp=fopen("test.dat"," rb"))=NULL)
           {   printf("The file can't open");
               exit(1);
           }
           fseek(fp, 8,1);
           fgetc(fp);
           fclose(fp);
}
编译没有错误 运行时为什么终止  我目录下已经有了一个写好的test.dat

论坛徽章:
0
4 [报告]
发表于 2006-02-20 16:22 |只看该作者

我回

论坛徽章:
0
5 [报告]
发表于 2006-02-20 16:52 |只看该作者
对于文件的操作用try。。。catch。。。捕获一下!并且你的程序又不检查函数返回值!

论坛徽章:
0
6 [报告]
发表于 2006-02-20 17:40 |只看该作者

 谢谢楼上 还有一个问题

#include<stdio.h>
void
mian()
{   FILE  *fp;
    int  dat[100];
fp=fopen("test_a.dat","rb") ;
fread(dat,sizeof(int),100,fp);
{    if(feof(fp))
   printf("end of file");
    else
      printf("read error");
    fclose(fp);
}   
}

运行时出现以下错误:
--------------------Configuration: Cpp3 - Win32 Debug--------------------
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/Cpp3.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.

Cpp3.exe - 1 error(s), 0 warning(s)
请问是什么问题呢?

论坛徽章:
0
7 [报告]
发表于 2006-02-21 18:08 |只看该作者

这个问题 有人能解决吗

看来这个问题是没人会了

论坛徽章:
0
8 [报告]
发表于 2006-02-22 08:17 |只看该作者
我也有类似的问题,在这个帖子中: http://bbs.chinaunix.net/viewthread.php?tid=704264&extra=page%3D1

[ 本帖最后由 yupeng_cun 于 2006-2-22 08:21 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2006-02-22 08:55 |只看该作者
原帖由 虫子王 于 2006-2-20 17:40 发表
#include<stdio.h>
void
mian()
{   FILE  *fp;
    int  dat[100];
fp=fopen("test_a.dat","rb") ;
fread(dat,sizeof(int),100,fp);
{    if(feof(fp))
   printf("end ...

首先fp没有判断有没有打开成功,其次fread的函数参数的意义不清楚

论坛徽章:
0
10 [报告]
发表于 2006-02-22 08:58 |只看该作者
原帖由 虫子王 于 2006-2-20 14:53 发表
#include<stdio.h>
#include<stdlib.h>
void   main()
{
            FILE  *fp;
           if((fp=fopen("test.dat"," rb"))=NULL)
           {   printf("The file can't open"); ...
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. void   main()
  4. {
  5.             FILE  *fp;
  6.            if((fp=fopen("test.dat"," rb"))==NULL)
  7.            {   printf("The file can't open"); ...
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP