如何在没有fopen的情况下读取C中的文本文件

时间:2017-10-23 10:14:04

标签: c text fopen getchar

  谁能帮助我吗?我需要读取一个名为address.txt的文件并正常工作   每个单词都在那里(我每行都有一个单词,以简化它)。

     

我被禁止使用这些功能:

     

Malloc,freee,fopen,fclose,fscanf,... qsort,lsearch,bsearch a hsearch 我认为老师要我们使用getchar,argv,argc或   类似的东西。

     

假设程序的名称是test.c   ____ /test.c< address.txt中

     

如果我在启动程序时将其写为参数,我应该是   能够使用文本文件。有关如何提取数据的任何提示   存储在address.txt中?我试过几次都没有成功:/   只有fopen为我工作。

编辑:我做的一切都很好,Code :: Blocks编辑程序导致了问题。我在Linux终端试过它,它运行得很好! :)

1 个答案:

答案 0 :(得分:1)

是的,如果您的程序是这样启动的:

$ ./test < address.txt

然后(假设一个兼容的操作系统,但这在主要桌面系统中相当标准),您的程序将以stdin流开始,该流连接到文件address.txt的内容。

因此,您可以使用getchar()从中读取,并找到单词。

请注意,您不会启动C文件,必须先编译它。