逐行读取文件

时间:2010-08-22 20:10:38

标签: c file

我想逐行读取txt文件。我收到错误“设备未准备好”。我无法理解问题是什么?代码如下:

#include<stdio.h>
#include<stdlib.h>
int main(int argc, char **argv)
{
  char command[100];
  char line[10];
  FILE* fp = fopen("input.txt","r");

  while (fgets(line, sizeof line, fp) != NULL)
  {
    puts(line);                                   
  }

  getchar();
  return 0;
}

有人能告诉我我在做什么错吗?提前致谢。 操作系统:windows 7; 编译器:dev c ++

2 个答案:

答案 0 :(得分:2)

  • Ditch Dev-Cpp。它已经过时了,还有更好的选择,所有这些都是免费的,如啤酒(netbeans,code :: blocks,MS Visual C ++ Express,eclipse)
  • 检查您的错误。如果出现任何问题,请确保您的程序提前和大声失败。
  • 阅读您正在调用的每个库函数的文档,以确保正确使用它们,并且使用正确的方法来检测和处理错误
  • 确认您尝试阅读的文件确实存在且可以阅读(最重要的是assert() fp不是NULL
  • 'codes'是廉价间谍电影中的代理人交换以获取重要信息的秘密。您在文本编辑器或IDE中键入的内容称为“代码”,并且它不可数,因此您不使用复数形式。

答案 1 :(得分:0)

您的代码在我的计算机上正常运行。因此错误可能来自您的硬件或其他相关内容......

我的系统是Redhat,编译器是gcc 3.4.6!