鱼C论坛

 找回密码
 立即注册
查看: 2694|回复: 1

C语言编写文件操作中的问题

[复制链接]
发表于 2012-2-14 23:16:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 聆空猫猫 于 2012-2-14 23:24 编辑

printf("请为文件命名\n");
  scanf("%s",filename);
  
  if(!(fp=fopen(filename,"wt+")))
  {
   printf("无法打开文件\n");
   
  }
   
  printf("请按照学号、姓名、性别的格式输入学生信息\n");
  ch=getchar();
  ch=getchar();
  while(ch!=EOF)
  {
   fputc(ch,fp);
   ch=getchar();
  }

  fclose(fp);
这段编程中中间两个ch=getchar();是有什么用啊???
还有在小甲鱼的视频中,说道在if那里的printf下面一行有写:exit(0)
但是我会出现错误。。。这是为什么??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-2-15 00:21:40 | 显示全部楼层
想知道为什么要两个 ch=getchar(); 去掉一个试试运行程序就能明白了,某些机器或者编译器使用 getchar() 获取到的第一个字符写入文件会变成换行,有些就不会,在我的机器上用 VC++ 6.0 编译运行就没有这种情况,所以我不需要写两行。这里写两行目的是再次给ch变量赋值覆盖第一个字符,然后写入文件。
而 exit(int) 函数的功能退出程序,包含在 “stdlib.h” 头文件中,如果编译报错,那应该是你那个头文件有问题,不然就是编译器有问题,这个函数参数为 0 时表示正常退出,非 0 时表示异常退出,小甲鱼的视频中应该是讲错了,不过最后的结果都是一样的,都是退出程序。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 18:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表