如何从不同的目录中读取文件,然后用c语言将其打印到屏幕上

如何从不同的目录中读取文件,然后用c语言将其打印到屏幕上,c,C,我应该写一个叫做www.c的程序。这将从一个名为web data的文件中读取数据,描述最流行的网站,并发出有关在该文件中找到的内容的各种信息。我们应该使用的信息在一个文件中,该文件与我的目录完全不同 如何打开此文件以便能够阅读? 到目前为止,我已经: #include <stdio.h> int main () { char* file = "filename"; int c; FILE *www; www = fopen("file", "rb"); if (www)

我应该写一个叫做www.c的程序。这将从一个名为web data的文件中读取数据,描述最流行的网站,并发出有关在该文件中找到的内容的各种信息。我们应该使用的信息在一个文件中,该文件与我的目录完全不同

如何打开此文件以便能够阅读? 到目前为止,我已经:

#include <stdio.h>

int main () {
 char* file = "filename";
 int c;
 FILE *www;
 www = fopen("file", "rb");
 if (www) {
    while ((c = getc(www)) != EOF)
    putchar(c);
    fclose(www);
 }
 return 0;
 }
#包括
int main(){
char*file=“filename”;
INTC;
档案*www;
www=fopen(“文件”、“rb”);
国际单项体育联合会(www){
而((c=getc(www))!=EOF)
普查尔(c);
fclose(www);
}
返回0;
}
但是它不会在屏幕上打印任何东西,所以我认为它实际上并没有访问文件。 还有,我将使用什么命令来查看文件并找到排名最好和最低的alexa


非常感谢您的帮助。

只需在您的
fopen
呼叫中删除“文件”中的双引号即可:

像这样:

 www = fopen(file, "rb");

否则,您试图打开一个名为“file”的文件,而不是一个名称被变量
file
引用的文件,只需在
fopen
调用中去掉“file”的双引号即可:

像这样:

 www = fopen(file, "rb");

否则,您试图打开一个名为“file”的文件,而不是一个名称被变量
file
引用的文件,只需在
fopen
调用中去掉“file”的双引号即可:

像这样:

 www = fopen(file, "rb");

否则,您试图打开一个名为“file”的文件,而不是一个名称被变量
file
引用的文件,只需在
fopen
调用中去掉“file”的双引号即可:

像这样:

 www = fopen(file, "rb");


否则,您将试图打开一个名为“file”的文件,而不是一个名称被变量
file
引用的文件,它的确切位置是哪里?您的程序正在查找一个相对路径,因此您可以尝试
。/cs156/pub/web data
,如果它仅比您的路径高一级。或者你可以做一个绝对路径:
C:\\Documents and Settings\\
首先使用
返回到当前目录和
cs156
的公共父目录。
然后浏览你的文件。例如:
。/../cs156/pub/web data
错误就在眼前。同样,为了调试程序,当
www==NULL
BTW时,尝试使用
peror
函数打印错误消息。这听起来像是一个完美的示例,您可以将文件名传递为
argv[1]
,而不是在应用程序中硬编码。它到底在哪里?您的程序正在查找一个相对路径,因此您可以尝试
。/cs156/pub/web data
,如果它仅比您的路径高一级。或者你可以做一个绝对路径:
C:\\Documents and Settings\\
首先使用
返回到当前目录和
cs156
的公共父目录。
然后浏览你的文件。例如:
。/../cs156/pub/web data
错误就在眼前。同样,为了调试程序,当
www==NULL
BTW时,尝试使用
peror
函数打印错误消息。这听起来像是一个完美的示例,您可以将文件名传递为
argv[1]
,而不是在应用程序中硬编码。它到底在哪里?您的程序正在查找一个相对路径,因此您可以尝试
。/cs156/pub/web data
,如果它仅比您的路径高一级。或者你可以做一个绝对路径:
C:\\Documents and Settings\\
首先使用
返回到当前目录和
cs156
的公共父目录。
然后浏览你的文件。例如:
。/../cs156/pub/web data
错误就在眼前。同样,为了调试程序,当
www==NULL
BTW时,尝试使用
peror
函数打印错误消息。这听起来像是一个完美的示例,您可以将文件名传递为
argv[1]
,而不是在应用程序中硬编码。它到底在哪里?您的程序正在查找一个相对路径,因此您可以尝试
。/cs156/pub/web data
,如果它仅比您的路径高一级。或者你可以做一个绝对路径:
C:\\Documents and Settings\\
首先使用
返回到当前目录和
cs156
的公共父目录。
然后浏览你的文件。例如:
。/../cs156/pub/web data
错误就在眼前。同样,为了调试程序,当
www==NULL
BTW时,尝试使用
peror
函数打印错误消息,这听起来像是一个完美的例子,您可以将文件名传递为
argv[1]
,而不是在应用程序中硬编码。@user3483603:很高兴提供帮助@用户3483603:很高兴能帮忙@用户3483603:很高兴能帮忙@用户3483603:很高兴能帮忙!