0

所以对于这个任务,我应该阅读一个文件,并处理内容。现在我只想能够打开文件,阅读它并打印出它有多少行。我相信我有正确的代码来执行此操作,但我不知道如何“读取”或连接到我的程序之外的文件!我正在使用

FILE *fp = NULL; 
fp = fopen ();

部分对吗?那就是如何打开/连接到文件?但不确定这是做什么的,以及它如何连接到程序外部的文件。要阅读文件,我让用户输入他们的文本文件,例如

printf ("Enter the name of the data file: ");
scanf ("%[^\n]", &filename);

然后阅读我放的

fp = fopen("&filename", "r");

但这似乎不对,而且不起作用。谁能解释我做错了什么,以及如何读取用户输入的文件?如果有意义的话,我在一个 SSH 矩阵组中,就像我使用 ssh 终端登录腻子一样?不知道如何解释,但这是我学校在线 SSH 的事情......

4

1 回答 1

1
fp = fopen("&filename", "r");

filename是变量,你为什么要用""双引号传递它。

试试下面这样的事情:

char filename[50]; // need a character array or buffer to hold the filename

printf ("Enter the name of the data file: ");
scanf ("%[^\n]", filename);   // no & operator

现在使用

fp = fopen(filename, "r");   // filename variable should contain complete path 

                              //with the actual file name

我认为这应该有效。

您还需要检查fpas

if(fp == NULL)   // It's always a safe way to proceed
   printf("Error in file opening\n");
于 2012-12-03T19:24:05.063 回答